From 746709f40c276ad95587e500b02a9444f05c7608 Mon Sep 17 00:00:00 2001 From: MaddoScientisto Date: Fri, 10 Apr 2026 00:45:41 +0200 Subject: [PATCH] Decompilation unk files generation --- .../idata/00/~0000000a.db/change.data.gbf | Bin 81920 -> 98304 bytes .../idata/00/~0000000a.db/change.map.gbf | Bin 32768 -> 32768 bytes .../00/~0000000a.db/{db.9.gbf => db.11.gbf} | Bin 24051712 -> 24051712 bytes .../idata/01/~00000015.db/change.data.gbf | Bin 147456 -> 147456 bytes .../idata/01/~00000015.db/change.map.gbf | Bin 32768 -> 32768 bytes .../01/~00000015.db/{db.96.gbf => db.122.gbf} | Bin 24461312 -> 24461312 bytes .../01/~00000015.db/{db.95.gbf => db.123.gbf} | Bin 24461312 -> 24461312 bytes Crusader.rep/projectState | 4 +- .../00/~00000008.db/{db.54.gbf => db.55.gbf} | Bin 81920 -> 81920 bytes .../00/~00000008.db/{db.53.gbf => db.56.gbf} | Bin 81920 -> 81920 bytes .../db.4.gbf => ~0000000a.db/db.8.gbf} | Bin 81920 -> 81920 bytes .../00/~0000000a.db/{db.7.gbf => db.9.gbf} | Bin 81920 -> 81920 bytes .../{~0000000a.db => ~0000000c.db}/db.6.gbf | Bin 81920 -> 81920 bytes USECODE/REGRET/ALARMBOX.unk | 63 + USECODE/REGRET/ALARMHAT.unk | 93 + USECODE/REGRET/ALARM_EW.unk | 14 + USECODE/REGRET/ALARM_NS.unk | 14 + USECODE/REGRET/ALRMTRIG.unk | 29 + USECODE/REGRET/ANDROID.unk | 12 + USECODE/REGRET/ART.unk | 24 + USECODE/REGRET/AVATRON.unk | 13 + USECODE/REGRET/BARREL.unk | 93 + USECODE/REGRET/BARRELEW.unk | 13 + USECODE/REGRET/BARRELNS.unk | 13 + USECODE/REGRET/BARRELNW.unk | 13 + USECODE/REGRET/BARRELS.unk | 13 + USECODE/REGRET/BARRELSE.unk | 13 + USECODE/REGRET/BARRELUP.unk | 13 + USECODE/REGRET/BASEGUN.unk | 123 + USECODE/REGRET/BBETTY.unk | 124 + USECODE/REGRET/BBOX.unk | 36 + USECODE/REGRET/BETTY.unk | 23 + USECODE/REGRET/BETTYUP.unk | 56 + USECODE/REGRET/BIGCAN.unk | 30 + USECODE/REGRET/BIGCOMEW.unk | 30 + USECODE/REGRET/BIGCOMNS.unk | 30 + USECODE/REGRET/BIGSWITC.unk | 29 + USECODE/REGRET/BLACK16.unk | 21 + USECODE/REGRET/BLACK8.unk | 21 + USECODE/REGRET/BLOOD.unk | 18 + USECODE/REGRET/BMPC.unk | 13 + USECODE/REGRET/BOOTY.unk | 86 + USECODE/REGRET/BOUNCBOX.unk | 133 + USECODE/REGRET/BOX_EW.unk | 46 + USECODE/REGRET/BOX_NS.unk | 46 + USECODE/REGRET/BRIDGE.unk | 723 ++++ USECODE/REGRET/BROKENCW.unk | 22 + USECODE/REGRET/CAMERACO.unk | 135 + USECODE/REGRET/CAMERAEW.unk | 135 + USECODE/REGRET/CAMERANS.unk | 135 + USECODE/REGRET/CAMETRON.unk | 14 + USECODE/REGRET/CAM_EW.unk | 68 + USECODE/REGRET/CAM_NS.unk | 68 + USECODE/REGRET/CARD_EW.unk | 28 + USECODE/REGRET/CARD_NS.unk | 28 + USECODE/REGRET/CATWALK1.unk | 19 + USECODE/REGRET/CATWALK2.unk | 20 + USECODE/REGRET/CHANGER.unk | 22 + USECODE/REGRET/CHEDITRO.unk | 13 + USECODE/REGRET/CHEMSUIT.unk | 12 + USECODE/REGRET/CHEST_EW.unk | 99 + USECODE/REGRET/CHEST_NS.unk | 101 + USECODE/REGRET/CHEST_OE.unk | 41 + USECODE/REGRET/CHEST_ON.unk | 41 + USECODE/REGRET/CONGRESS.unk | 12 + USECODE/REGRET/CONTAIN.unk | 68 + USECODE/REGRET/CONT_EW.unk | 13 + USECODE/REGRET/CONT_FL.unk | 13 + USECODE/REGRET/CONT_NS.unk | 13 + USECODE/REGRET/CONVEYOR.unk | 78 + USECODE/REGRET/CONVEY_E.unk | 54 + USECODE/REGRET/CONVEY_N.unk | 54 + USECODE/REGRET/CONVFLR.unk | 54 + USECODE/REGRET/CONVFLR2.unk | 54 + USECODE/REGRET/CONV_EL.unk | 54 + USECODE/REGRET/CONV_NL.unk | 54 + USECODE/REGRET/COPY_EW.unk | 25 + USECODE/REGRET/COPY_NS.unk | 25 + USECODE/REGRET/COURIER.unk | 31 + USECODE/REGRET/CRAZYEW.unk | 18 + USECODE/REGRET/CRAZYNS.unk | 18 + USECODE/REGRET/CRUMORPH.unk | 43 + USECODE/REGRET/CRUSADER.unk | 33 + USECODE/REGRET/CRUZTRIG.unk | 60 + USECODE/REGRET/CRU_MINE.unk | 338 ++ USECODE/REGRET/CRU_SPID.unk | 203 + USECODE/REGRET/CRYO1.unk | 27 + USECODE/REGRET/CRYO2.unk | 27 + USECODE/REGRET/CRYOBOX.unk | 119 + USECODE/REGRET/CRYOTRON.unk | 13 + USECODE/REGRET/CSPID.unk | 12 + USECODE/REGRET/DAMNLUGG.unk | 29 + USECODE/REGRET/DAMNMCR8.unk | 29 + USECODE/REGRET/DATALINK.unk | 266 ++ USECODE/REGRET/DATAPICK.unk | 28 + USECODE/REGRET/DEATHBOX.unk | 40 + USECODE/REGRET/DEL16.unk | 11 + USECODE/REGRET/DEL8.unk | 11 + USECODE/REGRET/DENNING.unk | 56 + USECODE/REGRET/DETPAC.unk | 123 + USECODE/REGRET/DICOR1.unk | 33 + USECODE/REGRET/DICOR2.unk | 33 + USECODE/REGRET/DICOR3.unk | 33 + USECODE/REGRET/DISRUPT.unk | 138 + USECODE/REGRET/DOOR.unk | 1683 ++++++++ USECODE/REGRET/DOOR2.unk | 1249 ++++++ USECODE/REGRET/DOOR3.unk | 1025 +++++ USECODE/REGRET/DOOR4.unk | 50 + USECODE/REGRET/DOOREGG.unk | 51 + USECODE/REGRET/DUCK_EW.unk | 141 + USECODE/REGRET/DUCK_NS.unk | 141 + USECODE/REGRET/D_BARREL.unk | 21 + USECODE/REGRET/D_CHEM.unk | 43 + USECODE/REGRET/D_CONG.unk | 43 + USECODE/REGRET/D_COUR.unk | 27 + USECODE/REGRET/D_EM_GUY.unk | 23 + USECODE/REGRET/D_ENFOR2.unk | 14 + USECODE/REGRET/D_ENFORC.unk | 43 + USECODE/REGRET/D_ESTORM.unk | 43 + USECODE/REGRET/D_FLAMEX.unk | 23 + USECODE/REGRET/D_FREIGH.unk | 43 + USECODE/REGRET/D_GRENAD.unk | 43 + USECODE/REGRET/D_HQ2.unk | 14 + USECODE/REGRET/D_HQGUAR.unk | 43 + USECODE/REGRET/D_KNENFO.unk | 43 + USECODE/REGRET/D_KNHQ.unk | 43 + USECODE/REGRET/D_KNSTOR.unk | 43 + USECODE/REGRET/D_LMC2.unk | 14 + USECODE/REGRET/D_LMC_KN.unk | 43 + USECODE/REGRET/D_LMC_ST.unk | 43 + USECODE/REGRET/D_LNR.unk | 23 + USECODE/REGRET/D_MAINT.unk | 43 + USECODE/REGRET/D_NMINE.unk | 43 + USECODE/REGRET/D_OWORK.unk | 43 + USECODE/REGRET/D_PLASMA.unk | 23 + USECODE/REGRET/D_ROBO.unk | 14 + USECODE/REGRET/D_SCIEN.unk | 43 + USECODE/REGRET/D_SITMAN.unk | 14 + USECODE/REGRET/D_SKELET.unk | 23 + USECODE/REGRET/D_STORM.unk | 43 + USECODE/REGRET/D_STORM2.unk | 14 + USECODE/REGRET/D_SUSAN.unk | 27 + USECODE/REGRET/D_TANKEW.unk | 32 + USECODE/REGRET/D_TANKNS.unk | 32 + USECODE/REGRET/D_THERM.unk | 22 + USECODE/REGRET/EBRIDGE.unk | 35 + USECODE/REGRET/EBRIDGE2.unk | 35 + USECODE/REGRET/EGRENADE.unk | 14 + USECODE/REGRET/ELEEW16.unk | 43 + USECODE/REGRET/ELEEW4.unk | 41 + USECODE/REGRET/ELEEW8.unk | 42 + USECODE/REGRET/ELENS16.unk | 43 + USECODE/REGRET/ELENS4.unk | 41 + USECODE/REGRET/ELENS8.unk | 42 + USECODE/REGRET/ELEVAT.unk | 198 + USECODE/REGRET/ELEVATOR.unk | 363 ++ USECODE/REGRET/ELEVPLAT.unk | 74 + USECODE/REGRET/ELITE.unk | 14 + USECODE/REGRET/ELY.unk | 36 + USECODE/REGRET/ENERGY.unk | 56 + USECODE/REGRET/ENFORCER.unk | 12 + USECODE/REGRET/ESPACE.unk | 40 + USECODE/REGRET/ESPACE2.unk | 40 + USECODE/REGRET/EVENT.unk | 1116 ++++++ USECODE/REGRET/EWALLEW.unk | 27 + USECODE/REGRET/EWALLNS.unk | 27 + USECODE/REGRET/EYECAMEW.unk | 68 + USECODE/REGRET/EYECAMNS.unk | 69 + USECODE/REGRET/FADE.unk | 268 ++ USECODE/REGRET/FALLINGC.unk | 22 + USECODE/REGRET/FFFLOOR.unk | 103 + USECODE/REGRET/FFFLOOR2.unk | 101 + USECODE/REGRET/FIREEGG.unk | 22 + USECODE/REGRET/FLAME1.unk | 27 + USECODE/REGRET/FLAME2.unk | 27 + USECODE/REGRET/FLAMEBOX.unk | 109 + USECODE/REGRET/FLAMELP.unk | 27 + USECODE/REGRET/FLICTEST.unk | 526 +++ USECODE/REGRET/FLOAT.unk | 81 + USECODE/REGRET/FLOOR1.unk | 173 + USECODE/REGRET/FLORMINE.unk | 48 + USECODE/REGRET/FREE.unk | 1243 ++++++ USECODE/REGRET/FREEZ.unk | 14 + USECODE/REGRET/FREEZEXP.unk | 34 + USECODE/REGRET/FREIGHTE.unk | 12 + USECODE/REGRET/FRGUNEW.unk | 140 + USECODE/REGRET/FRGUNNS.unk | 140 + USECODE/REGRET/FRI_EW.unk | 13 + USECODE/REGRET/FRI_NS.unk | 13 + USECODE/REGRET/FUSREACT.unk | 33 + USECODE/REGRET/FUS_PAC.unk | 120 + USECODE/REGRET/GATGUNEW.unk | 68 + USECODE/REGRET/GATGUNNS.unk | 68 + USECODE/REGRET/GBOX_EW.unk | 36 + USECODE/REGRET/GBOX_NS.unk | 36 + USECODE/REGRET/GENERATR.unk | 13 + USECODE/REGRET/GLASS_EW.unk | 40 + USECODE/REGRET/GLASS_NS.unk | 40 + USECODE/REGRET/GLDIV_EW.unk | 40 + USECODE/REGRET/GLDIV_NS.unk | 40 + USECODE/REGRET/GOVGUNEW.unk | 68 + USECODE/REGRET/GOVGUNNS.unk | 68 + USECODE/REGRET/GRATE_EW.unk | 37 + USECODE/REGRET/GRATE_NS.unk | 37 + USECODE/REGRET/GRAVITON.unk | 11 + USECODE/REGRET/GRENADE.unk | 19 + USECODE/REGRET/GRENEGG.unk | 29 + USECODE/REGRET/GTELEPAD.unk | 63 + USECODE/REGRET/G_POOL.unk | 35 + USECODE/REGRET/HOLO.unk | 95 + USECODE/REGRET/HOVER.unk | 620 +++ USECODE/REGRET/HOVER1.unk | 49 + USECODE/REGRET/HQGUARD.unk | 14 + USECODE/REGRET/IONIC.unk | 11 + USECODE/REGRET/ITEM.unk | 669 ++++ USECODE/REGRET/JELYH2.unk | 11 + USECODE/REGRET/JELYHACK.unk | 11 + USECODE/REGRET/JOHN.unk | 23 + USECODE/REGRET/JUICEEW.unk | 82 + USECODE/REGRET/JUICEFL.unk | 66 + USECODE/REGRET/JUICENS.unk | 82 + USECODE/REGRET/KEYPAD.unk | 46 + USECODE/REGRET/KEYPADEW.unk | 48 + USECODE/REGRET/KEYPADNS.unk | 147 + USECODE/REGRET/KORESH.unk | 25 + USECODE/REGRET/LANDMINE.unk | 142 + USECODE/REGRET/LASERI.unk | 43 + USECODE/REGRET/LAZER.unk | 69 + USECODE/REGRET/LAZEREW.unk | 100 + USECODE/REGRET/LAZERNS.unk | 100 + USECODE/REGRET/LIFT.unk | 149 + USECODE/REGRET/LIFTPIT.unk | 14 + USECODE/REGRET/LIFT_EW.unk | 110 + USECODE/REGRET/LIFT_NS.unk | 110 + USECODE/REGRET/LMC_EW.unk | 13 + USECODE/REGRET/LMC_GUAR.unk | 12 + USECODE/REGRET/LMC_NS.unk | 13 + USECODE/REGRET/LUGGAGE.unk | 33 + USECODE/REGRET/L_EW16.unk | 52 + USECODE/REGRET/L_EW2.unk | 52 + USECODE/REGRET/L_EW4.unk | 52 + USECODE/REGRET/L_EW8.unk | 52 + USECODE/REGRET/L_NS16.unk | 52 + USECODE/REGRET/L_NS2.unk | 52 + USECODE/REGRET/L_NS4.unk | 52 + USECODE/REGRET/L_NS8.unk | 52 + USECODE/REGRET/MAINTMAN.unk | 12 + USECODE/REGRET/MALRM_EW.unk | 14 + USECODE/REGRET/MALRM_NS.unk | 14 + USECODE/REGRET/MBARREL.unk | 52 + USECODE/REGRET/MBGUNEW.unk | 140 + USECODE/REGRET/MBGUNNS.unk | 140 + USECODE/REGRET/MCRATE.unk | 39 + USECODE/REGRET/MDESKEW.unk | 30 + USECODE/REGRET/MDESKNS.unk | 30 + USECODE/REGRET/MEATY.unk | 25 + USECODE/REGRET/MEDIKIT.unk | 28 + USECODE/REGRET/MED_BACK.unk | 31 + USECODE/REGRET/MED_FLOR.unk | 57 + USECODE/REGRET/MED_LITE.unk | 31 + USECODE/REGRET/MED_SIDE.unk | 31 + USECODE/REGRET/MELF.unk | 43 + USECODE/REGRET/MFAN_EW.unk | 17 + USECODE/REGRET/MFAN_NS.unk | 17 + USECODE/REGRET/MGR_EW.unk | 23 + USECODE/REGRET/MGR_NS.unk | 23 + USECODE/REGRET/MGUNEW.unk | 140 + USECODE/REGRET/MGUNNS.unk | 140 + USECODE/REGRET/MHATCHER.unk | 20 + USECODE/REGRET/MINEDET.unk | 38 + USECODE/REGRET/MINEGEN.unk | 21 + USECODE/REGRET/MINELET.unk | 27 + USECODE/REGRET/MINEPAD.unk | 29 + USECODE/REGRET/MINE_IR.unk | 43 + USECODE/REGRET/MINE_S.unk | 35 + USECODE/REGRET/MINE_SPI.unk | 35 + USECODE/REGRET/MISS1.unk | 125 + USECODE/REGRET/MISS10.unk | 50 + USECODE/REGRET/MISS2.unk | 35 + USECODE/REGRET/MISS3.unk | 53 + USECODE/REGRET/MISS4.unk | 50 + USECODE/REGRET/MISS5.unk | 48 + USECODE/REGRET/MISS6.unk | 145 + USECODE/REGRET/MISS7.unk | 52 + USECODE/REGRET/MISS8.unk | 50 + USECODE/REGRET/MISS9.unk | 51 + USECODE/REGRET/MLGUNEW.unk | 162 + USECODE/REGRET/MLGUNNS.unk | 162 + USECODE/REGRET/MONITEW.unk | 72 + USECODE/REGRET/MONITNS.unk | 72 + USECODE/REGRET/MONSTER.unk | 115 + USECODE/REGRET/MOON_EW.unk | 13 + USECODE/REGRET/MOON_NS.unk | 13 + USECODE/REGRET/MORPH_1.unk | 49 + USECODE/REGRET/MORPH_2.unk | 49 + USECODE/REGRET/MORPH_3.unk | 58 + USECODE/REGRET/MORPH_4.unk | 49 + USECODE/REGRET/MORPH_5.unk | 64 + USECODE/REGRET/MOVEFLOR.unk | 188 + USECODE/REGRET/MTELEPAD.unk | 63 + USECODE/REGRET/NMINER.unk | 12 + USECODE/REGRET/NOSTRIL.unk | 75 + USECODE/REGRET/NPC.unk | 423 ++ USECODE/REGRET/NPCDEATH.unk | 1523 ++++++++ USECODE/REGRET/NPC_ONLY.unk | 45 + USECODE/REGRET/OFFWORK.unk | 12 + USECODE/REGRET/ONCEEGG.unk | 29 + USECODE/REGRET/PANELEW.unk | 19 + USECODE/REGRET/PANELNS.unk | 19 + USECODE/REGRET/PDOOR2EW.unk | 13 + USECODE/REGRET/PDOOR2NS.unk | 13 + USECODE/REGRET/PDOOR3EW.unk | 13 + USECODE/REGRET/PDOOR3NS.unk | 13 + USECODE/REGRET/PEPSIEW.unk | 46 + USECODE/REGRET/PEPSINS.unk | 46 + USECODE/REGRET/PIPRAK.unk | 13 + USECODE/REGRET/PIPRAK1.unk | 13 + USECODE/REGRET/PIT.unk | 49 + USECODE/REGRET/PLASMA.unk | 11 + USECODE/REGRET/PORBETTY.unk | 130 + USECODE/REGRET/POWEREG.unk | 33 + USECODE/REGRET/POWERGEN.unk | 77 + USECODE/REGRET/PPLATE2.unk | 76 + USECODE/REGRET/PSAFE_EW.unk | 63 + USECODE/REGRET/PSAFE_NS.unk | 63 + USECODE/REGRET/PUFLOOR1.unk | 88 + USECODE/REGRET/PUFLOOR2.unk | 88 + USECODE/REGRET/PUFLOOR3.unk | 88 + USECODE/REGRET/PUFLOOR4.unk | 88 + USECODE/REGRET/PUFLOOR5.unk | 88 + USECODE/REGRET/PUFLOOR6.unk | 88 + USECODE/REGRET/PUFLOOR7.unk | 88 + USECODE/REGRET/PUFLOOR8.unk | 88 + USECODE/REGRET/PUFLOOR9.unk | 88 + USECODE/REGRET/PUFLOR10.unk | 88 + USECODE/REGRET/PU_GUN.unk | 232 ++ USECODE/REGRET/R2D2.unk | 114 + USECODE/REGRET/RADAR.unk | 11 + USECODE/REGRET/RADARBAS.unk | 48 + USECODE/REGRET/RADIOEG.unk | 33 + USECODE/REGRET/RADIOGEN.unk | 55 + USECODE/REGRET/RAILBASE.unk | 48 + USECODE/REGRET/RAILGUN.unk | 119 + USECODE/REGRET/REBEL.unk | 143 + USECODE/REGRET/RE_BACK.unk | 31 + USECODE/REGRET/RE_BOOTH.unk | 31 + USECODE/REGRET/RE_FLOOR.unk | 55 + USECODE/REGRET/RE_SIDE.unk | 31 + USECODE/REGRET/RFANBADE.unk | 61 + USECODE/REGRET/RFANBADN.unk | 61 + USECODE/REGRET/RFANEW.unk | 68 + USECODE/REGRET/RFANNS.unk | 68 + USECODE/REGRET/ROAMING.unk | 14 + USECODE/REGRET/ROLLB_EW.unk | 293 ++ USECODE/REGRET/ROLLB_NS.unk | 292 ++ USECODE/REGRET/ROLLROUN.unk | 11 + USECODE/REGRET/ROLL_EW.unk | 202 + USECODE/REGRET/ROLL_NS.unk | 202 + USECODE/REGRET/RSTATION.unk | 11 + USECODE/REGRET/RTELEPAD.unk | 63 + USECODE/REGRET/R_SHIELD.unk | 21 + USECODE/REGRET/SAFE_EW.unk | 64 + USECODE/REGRET/SAFE_FLR.unk | 64 + USECODE/REGRET/SAFE_NS.unk | 64 + USECODE/REGRET/SATARG.unk | 11 + USECODE/REGRET/SBIG_EW.unk | 13 + USECODE/REGRET/SBIG_NS.unk | 13 + USECODE/REGRET/SCANNER.unk | 45 + USECODE/REGRET/SCIENTIS.unk | 12 + USECODE/REGRET/SCIGUNEW.unk | 146 + USECODE/REGRET/SCIGUNNS.unk | 146 + USECODE/REGRET/SCI_CAT1.unk | 19 + USECODE/REGRET/SCI_CAT2.unk | 11 + USECODE/REGRET/SCI_EW.unk | 13 + USECODE/REGRET/SCI_NS.unk | 13 + USECODE/REGRET/SEATLADY.unk | 12 + USECODE/REGRET/SEATWORK.unk | 12 + USECODE/REGRET/SECADA.unk | 46 + USECODE/REGRET/SECRTEGG.unk | 21 + USECODE/REGRET/SECUREW.unk | 119 + USECODE/REGRET/SECURNS.unk | 119 + USECODE/REGRET/SENTRY.unk | 119 + USECODE/REGRET/SFXTRIG.unk | 26 + USECODE/REGRET/SHEPHERD.unk | 84 + USECODE/REGRET/SHOCKER.unk | 104 + USECODE/REGRET/SHOCKEW.unk | 32 + USECODE/REGRET/SHOCKEW1.unk | 35 + USECODE/REGRET/SHOCKNS.unk | 32 + USECODE/REGRET/SHOCKNS1.unk | 35 + USECODE/REGRET/SIGNEW.unk | 20 + USECODE/REGRET/SIGNNS.unk | 20 + USECODE/REGRET/SKILLBOX.unk | 48 + USECODE/REGRET/SKILLONE.unk | 26 + USECODE/REGRET/SKILLTWO.unk | 26 + USECODE/REGRET/SLIDEEW.unk | 54 + USECODE/REGRET/SLIDENS.unk | 54 + USECODE/REGRET/SL_EW16.unk | 19 + USECODE/REGRET/SL_EW4.unk | 19 + USECODE/REGRET/SL_EW8.unk | 19 + USECODE/REGRET/SL_NS16.unk | 19 + USECODE/REGRET/SL_NS4.unk | 19 + USECODE/REGRET/SL_NS8.unk | 19 + USECODE/REGRET/SMALCHAI.unk | 50 + USECODE/REGRET/SMALLTAB.unk | 25 + USECODE/REGRET/SPANEL.unk | 16 + USECODE/REGRET/SPECIAL.unk | 172 + USECODE/REGRET/SPIDER.unk | 371 ++ USECODE/REGRET/SPIDPAD.unk | 29 + USECODE/REGRET/SPIDWALK.unk | 20 + USECODE/REGRET/SSBOX_EW.unk | 36 + USECODE/REGRET/SSBOX_NS.unk | 36 + USECODE/REGRET/SSWITCHE.unk | 166 + USECODE/REGRET/SSWITCHN.unk | 166 + USECODE/REGRET/STABLE.unk | 49 + USECODE/REGRET/STATICEW.unk | 20 + USECODE/REGRET/STATICNS.unk | 20 + USECODE/REGRET/STEAM.unk | 214 ++ USECODE/REGRET/STEAM1.unk | 27 + USECODE/REGRET/STEAM2.unk | 27 + USECODE/REGRET/STEAMBOX.unk | 113 + USECODE/REGRET/STEAMEGG.unk | 22 + USECODE/REGRET/STELEPAD.unk | 63 + USECODE/REGRET/STEPLEW.unk | 76 + USECODE/REGRET/STEPLNS.unk | 76 + USECODE/REGRET/STORMTRO.unk | 12 + USECODE/REGRET/SWITCH.unk | 89 + USECODE/REGRET/SWITCHEW.unk | 23 + USECODE/REGRET/SWITCHNS.unk | 23 + USECODE/REGRET/SYNTH_UNK_MANIFEST.tsv | 478 +++ USECODE/REGRET/S_CHAIR.unk | 50 + USECODE/REGRET/TELEPAD.unk | 174 + USECODE/REGRET/TEXTFIL1.unk | 329 ++ USECODE/REGRET/TEXTFIL2.unk | 299 ++ USECODE/REGRET/TEXTFIL3.unk | 293 ++ USECODE/REGRET/TEXTFILE.unk | 558 +++ USECODE/REGRET/THERMAL1.unk | 45 + USECODE/REGRET/THERMAL2.unk | 45 + USECODE/REGRET/THERMATR.unk | 14 + USECODE/REGRET/THRMBCKE.unk | 51 + USECODE/REGRET/THRMBCKN.unk | 51 + USECODE/REGRET/TIMER.unk | 133 + USECODE/REGRET/TRAMFLOR.unk | 261 ++ USECODE/REGRET/TRANSFOR.unk | 48 + USECODE/REGRET/TRIGEGG.unk | 29 + USECODE/REGRET/TRIGGER.unk | 1341 +++++++ USECODE/REGRET/TRIGPAD.unk | 64 + USECODE/REGRET/TURBINE1.unk | 21 + USECODE/REGRET/TURBINEW.unk | 15 + USECODE/REGRET/TURBINNS.unk | 15 + USECODE/REGRET/TUR_EW.unk | 11 + USECODE/REGRET/TUR_NS.unk | 11 + USECODE/REGRET/UPPLATE.unk | 46 + USECODE/REGRET/VALBOX.unk | 19 + USECODE/REGRET/VALUEBOX.unk | 26 + USECODE/REGRET/VALVE.unk | 45 + USECODE/REGRET/VETRON.unk | 13 + USECODE/REGRET/VIDEOBOX.unk | 28 + USECODE/REGRET/VIDEOEGG.unk | 32 + USECODE/REGRET/VIR.unk | 137 + USECODE/REGRET/V_LASER.unk | 50 + USECODE/REGRET/V_LASER1.unk | 11 + USECODE/REGRET/V_LASER2.unk | 11 + USECODE/REGRET/V_LASER4.unk | 11 + USECODE/REGRET/V_LASER6.unk | 11 + USECODE/REGRET/V_LASER8.unk | 11 + USECODE/REGRET/V_LASERS.unk | 50 + USECODE/REGRET/WALGUNEW.unk | 68 + USECODE/REGRET/WALGUNNS.unk | 68 + USECODE/REGRET/WALLGUN.unk | 3388 +++++++++++++++++ USECODE/REGRET/WALLGUN2.unk | 268 ++ USECODE/REGRET/WALLMEW.unk | 54 + USECODE/REGRET/WALLMNS.unk | 54 + USECODE/REGRET/WARNING.unk | 24 + USECODE/REGRET/WATCHEW.unk | 255 ++ USECODE/REGRET/WATCHNS.unk | 255 ++ USECODE/REGRET/WINDSURF.unk | 222 ++ USECODE/REGRET/WSHOCKEW.unk | 78 + USECODE/REGRET/WSHOCKNS.unk | 78 + USECODE/REGRET/WVENTEW.unk | 28 + USECODE/REGRET/WVENTNS.unk | 28 + USECODE/REGRET/YELRAIL.unk | 38 + USECODE/REGRET/YR16X6EW.unk | 13 + USECODE/REGRET/YR16X6NS.unk | 13 + USECODE/REGRET/YR1X1.unk | 13 + USECODE/REGRET/YR2X6EW.unk | 13 + USECODE/REGRET/YR2X6NS.unk | 13 + USECODE/REGRET/YR4X6EW.unk | 13 + USECODE/REGRET/YR4X6NS.unk | 13 + USECODE/REGRET/YR8X6EW.unk | 13 + USECODE/REGRET/YR8X6NS.unk | 13 + USECODE/REGRET/Y_POOL.unk | 35 + crusader_decompilation_notes.md | 16 + crusader_segment_coverage_ledger.csv | 10 +- docs/dosbox-x.debugger.md | 182 + docs/function-knowledge-roadmap.md | 189 + ...p-remorse-hidden-debugger-investigation.md | 118 + docs/regret-hidden-debugger-investigation.md | 1080 ++++++ docs/retail-debugger-entry-options.md | 294 ++ plan-mid.md | 54 +- .../staged_ai_process_rename_batch.json | 43 + tmp_parse_regret_fixups.py | 76 + tools/generate_usecode_unk.py | 294 ++ tools/poc_crusader_usecode_parser.py | 21 +- 503 files changed, 45757 insertions(+), 31 deletions(-) rename Crusader.rep/idata/00/~0000000a.db/{db.9.gbf => db.11.gbf} (99%) rename Crusader.rep/idata/01/~00000015.db/{db.96.gbf => db.122.gbf} (97%) rename Crusader.rep/idata/01/~00000015.db/{db.95.gbf => db.123.gbf} (97%) rename Crusader.rep/user/00/~00000008.db/{db.54.gbf => db.55.gbf} (99%) rename Crusader.rep/user/00/~00000008.db/{db.53.gbf => db.56.gbf} (99%) rename Crusader.rep/user/00/{~0000000c.db/db.4.gbf => ~0000000a.db/db.8.gbf} (98%) rename Crusader.rep/user/00/~0000000a.db/{db.7.gbf => db.9.gbf} (99%) rename Crusader.rep/user/00/{~0000000a.db => ~0000000c.db}/db.6.gbf (98%) create mode 100644 USECODE/REGRET/ALARMBOX.unk create mode 100644 USECODE/REGRET/ALARMHAT.unk create mode 100644 USECODE/REGRET/ALARM_EW.unk create mode 100644 USECODE/REGRET/ALARM_NS.unk create mode 100644 USECODE/REGRET/ALRMTRIG.unk create mode 100644 USECODE/REGRET/ANDROID.unk create mode 100644 USECODE/REGRET/ART.unk create mode 100644 USECODE/REGRET/AVATRON.unk create mode 100644 USECODE/REGRET/BARREL.unk create mode 100644 USECODE/REGRET/BARRELEW.unk create mode 100644 USECODE/REGRET/BARRELNS.unk create mode 100644 USECODE/REGRET/BARRELNW.unk create mode 100644 USECODE/REGRET/BARRELS.unk create mode 100644 USECODE/REGRET/BARRELSE.unk create mode 100644 USECODE/REGRET/BARRELUP.unk create mode 100644 USECODE/REGRET/BASEGUN.unk create mode 100644 USECODE/REGRET/BBETTY.unk create mode 100644 USECODE/REGRET/BBOX.unk create mode 100644 USECODE/REGRET/BETTY.unk create mode 100644 USECODE/REGRET/BETTYUP.unk create mode 100644 USECODE/REGRET/BIGCAN.unk create mode 100644 USECODE/REGRET/BIGCOMEW.unk create mode 100644 USECODE/REGRET/BIGCOMNS.unk create mode 100644 USECODE/REGRET/BIGSWITC.unk create mode 100644 USECODE/REGRET/BLACK16.unk create mode 100644 USECODE/REGRET/BLACK8.unk create mode 100644 USECODE/REGRET/BLOOD.unk create mode 100644 USECODE/REGRET/BMPC.unk create mode 100644 USECODE/REGRET/BOOTY.unk create mode 100644 USECODE/REGRET/BOUNCBOX.unk create mode 100644 USECODE/REGRET/BOX_EW.unk create mode 100644 USECODE/REGRET/BOX_NS.unk create mode 100644 USECODE/REGRET/BRIDGE.unk create mode 100644 USECODE/REGRET/BROKENCW.unk create mode 100644 USECODE/REGRET/CAMERACO.unk create mode 100644 USECODE/REGRET/CAMERAEW.unk create mode 100644 USECODE/REGRET/CAMERANS.unk create mode 100644 USECODE/REGRET/CAMETRON.unk create mode 100644 USECODE/REGRET/CAM_EW.unk create mode 100644 USECODE/REGRET/CAM_NS.unk create mode 100644 USECODE/REGRET/CARD_EW.unk create mode 100644 USECODE/REGRET/CARD_NS.unk create mode 100644 USECODE/REGRET/CATWALK1.unk create mode 100644 USECODE/REGRET/CATWALK2.unk create mode 100644 USECODE/REGRET/CHANGER.unk create mode 100644 USECODE/REGRET/CHEDITRO.unk create mode 100644 USECODE/REGRET/CHEMSUIT.unk create mode 100644 USECODE/REGRET/CHEST_EW.unk create mode 100644 USECODE/REGRET/CHEST_NS.unk create mode 100644 USECODE/REGRET/CHEST_OE.unk create mode 100644 USECODE/REGRET/CHEST_ON.unk create mode 100644 USECODE/REGRET/CONGRESS.unk create mode 100644 USECODE/REGRET/CONTAIN.unk create mode 100644 USECODE/REGRET/CONT_EW.unk create mode 100644 USECODE/REGRET/CONT_FL.unk create mode 100644 USECODE/REGRET/CONT_NS.unk create mode 100644 USECODE/REGRET/CONVEYOR.unk create mode 100644 USECODE/REGRET/CONVEY_E.unk create mode 100644 USECODE/REGRET/CONVEY_N.unk create mode 100644 USECODE/REGRET/CONVFLR.unk create mode 100644 USECODE/REGRET/CONVFLR2.unk create mode 100644 USECODE/REGRET/CONV_EL.unk create mode 100644 USECODE/REGRET/CONV_NL.unk create mode 100644 USECODE/REGRET/COPY_EW.unk create mode 100644 USECODE/REGRET/COPY_NS.unk create mode 100644 USECODE/REGRET/COURIER.unk create mode 100644 USECODE/REGRET/CRAZYEW.unk create mode 100644 USECODE/REGRET/CRAZYNS.unk create mode 100644 USECODE/REGRET/CRUMORPH.unk create mode 100644 USECODE/REGRET/CRUSADER.unk create mode 100644 USECODE/REGRET/CRUZTRIG.unk create mode 100644 USECODE/REGRET/CRU_MINE.unk create mode 100644 USECODE/REGRET/CRU_SPID.unk create mode 100644 USECODE/REGRET/CRYO1.unk create mode 100644 USECODE/REGRET/CRYO2.unk create mode 100644 USECODE/REGRET/CRYOBOX.unk create mode 100644 USECODE/REGRET/CRYOTRON.unk create mode 100644 USECODE/REGRET/CSPID.unk create mode 100644 USECODE/REGRET/DAMNLUGG.unk create mode 100644 USECODE/REGRET/DAMNMCR8.unk create mode 100644 USECODE/REGRET/DATALINK.unk create mode 100644 USECODE/REGRET/DATAPICK.unk create mode 100644 USECODE/REGRET/DEATHBOX.unk create mode 100644 USECODE/REGRET/DEL16.unk create mode 100644 USECODE/REGRET/DEL8.unk create mode 100644 USECODE/REGRET/DENNING.unk create mode 100644 USECODE/REGRET/DETPAC.unk create mode 100644 USECODE/REGRET/DICOR1.unk create mode 100644 USECODE/REGRET/DICOR2.unk create mode 100644 USECODE/REGRET/DICOR3.unk create mode 100644 USECODE/REGRET/DISRUPT.unk create mode 100644 USECODE/REGRET/DOOR.unk create mode 100644 USECODE/REGRET/DOOR2.unk create mode 100644 USECODE/REGRET/DOOR3.unk create mode 100644 USECODE/REGRET/DOOR4.unk create mode 100644 USECODE/REGRET/DOOREGG.unk create mode 100644 USECODE/REGRET/DUCK_EW.unk create mode 100644 USECODE/REGRET/DUCK_NS.unk create mode 100644 USECODE/REGRET/D_BARREL.unk create mode 100644 USECODE/REGRET/D_CHEM.unk create mode 100644 USECODE/REGRET/D_CONG.unk create mode 100644 USECODE/REGRET/D_COUR.unk create mode 100644 USECODE/REGRET/D_EM_GUY.unk create mode 100644 USECODE/REGRET/D_ENFOR2.unk create mode 100644 USECODE/REGRET/D_ENFORC.unk create mode 100644 USECODE/REGRET/D_ESTORM.unk create mode 100644 USECODE/REGRET/D_FLAMEX.unk create mode 100644 USECODE/REGRET/D_FREIGH.unk create mode 100644 USECODE/REGRET/D_GRENAD.unk create mode 100644 USECODE/REGRET/D_HQ2.unk create mode 100644 USECODE/REGRET/D_HQGUAR.unk create mode 100644 USECODE/REGRET/D_KNENFO.unk create mode 100644 USECODE/REGRET/D_KNHQ.unk create mode 100644 USECODE/REGRET/D_KNSTOR.unk create mode 100644 USECODE/REGRET/D_LMC2.unk create mode 100644 USECODE/REGRET/D_LMC_KN.unk create mode 100644 USECODE/REGRET/D_LMC_ST.unk create mode 100644 USECODE/REGRET/D_LNR.unk create mode 100644 USECODE/REGRET/D_MAINT.unk create mode 100644 USECODE/REGRET/D_NMINE.unk create mode 100644 USECODE/REGRET/D_OWORK.unk create mode 100644 USECODE/REGRET/D_PLASMA.unk create mode 100644 USECODE/REGRET/D_ROBO.unk create mode 100644 USECODE/REGRET/D_SCIEN.unk create mode 100644 USECODE/REGRET/D_SITMAN.unk create mode 100644 USECODE/REGRET/D_SKELET.unk create mode 100644 USECODE/REGRET/D_STORM.unk create mode 100644 USECODE/REGRET/D_STORM2.unk create mode 100644 USECODE/REGRET/D_SUSAN.unk create mode 100644 USECODE/REGRET/D_TANKEW.unk create mode 100644 USECODE/REGRET/D_TANKNS.unk create mode 100644 USECODE/REGRET/D_THERM.unk create mode 100644 USECODE/REGRET/EBRIDGE.unk create mode 100644 USECODE/REGRET/EBRIDGE2.unk create mode 100644 USECODE/REGRET/EGRENADE.unk create mode 100644 USECODE/REGRET/ELEEW16.unk create mode 100644 USECODE/REGRET/ELEEW4.unk create mode 100644 USECODE/REGRET/ELEEW8.unk create mode 100644 USECODE/REGRET/ELENS16.unk create mode 100644 USECODE/REGRET/ELENS4.unk create mode 100644 USECODE/REGRET/ELENS8.unk create mode 100644 USECODE/REGRET/ELEVAT.unk create mode 100644 USECODE/REGRET/ELEVATOR.unk create mode 100644 USECODE/REGRET/ELEVPLAT.unk create mode 100644 USECODE/REGRET/ELITE.unk create mode 100644 USECODE/REGRET/ELY.unk create mode 100644 USECODE/REGRET/ENERGY.unk create mode 100644 USECODE/REGRET/ENFORCER.unk create mode 100644 USECODE/REGRET/ESPACE.unk create mode 100644 USECODE/REGRET/ESPACE2.unk create mode 100644 USECODE/REGRET/EVENT.unk create mode 100644 USECODE/REGRET/EWALLEW.unk create mode 100644 USECODE/REGRET/EWALLNS.unk create mode 100644 USECODE/REGRET/EYECAMEW.unk create mode 100644 USECODE/REGRET/EYECAMNS.unk create mode 100644 USECODE/REGRET/FADE.unk create mode 100644 USECODE/REGRET/FALLINGC.unk create mode 100644 USECODE/REGRET/FFFLOOR.unk create mode 100644 USECODE/REGRET/FFFLOOR2.unk create mode 100644 USECODE/REGRET/FIREEGG.unk create mode 100644 USECODE/REGRET/FLAME1.unk create mode 100644 USECODE/REGRET/FLAME2.unk create mode 100644 USECODE/REGRET/FLAMEBOX.unk create mode 100644 USECODE/REGRET/FLAMELP.unk create mode 100644 USECODE/REGRET/FLICTEST.unk create mode 100644 USECODE/REGRET/FLOAT.unk create mode 100644 USECODE/REGRET/FLOOR1.unk create mode 100644 USECODE/REGRET/FLORMINE.unk create mode 100644 USECODE/REGRET/FREE.unk create mode 100644 USECODE/REGRET/FREEZ.unk create mode 100644 USECODE/REGRET/FREEZEXP.unk create mode 100644 USECODE/REGRET/FREIGHTE.unk create mode 100644 USECODE/REGRET/FRGUNEW.unk create mode 100644 USECODE/REGRET/FRGUNNS.unk create mode 100644 USECODE/REGRET/FRI_EW.unk create mode 100644 USECODE/REGRET/FRI_NS.unk create mode 100644 USECODE/REGRET/FUSREACT.unk create mode 100644 USECODE/REGRET/FUS_PAC.unk create mode 100644 USECODE/REGRET/GATGUNEW.unk create mode 100644 USECODE/REGRET/GATGUNNS.unk create mode 100644 USECODE/REGRET/GBOX_EW.unk create mode 100644 USECODE/REGRET/GBOX_NS.unk create mode 100644 USECODE/REGRET/GENERATR.unk create mode 100644 USECODE/REGRET/GLASS_EW.unk create mode 100644 USECODE/REGRET/GLASS_NS.unk create mode 100644 USECODE/REGRET/GLDIV_EW.unk create mode 100644 USECODE/REGRET/GLDIV_NS.unk create mode 100644 USECODE/REGRET/GOVGUNEW.unk create mode 100644 USECODE/REGRET/GOVGUNNS.unk create mode 100644 USECODE/REGRET/GRATE_EW.unk create mode 100644 USECODE/REGRET/GRATE_NS.unk create mode 100644 USECODE/REGRET/GRAVITON.unk create mode 100644 USECODE/REGRET/GRENADE.unk create mode 100644 USECODE/REGRET/GRENEGG.unk create mode 100644 USECODE/REGRET/GTELEPAD.unk create mode 100644 USECODE/REGRET/G_POOL.unk create mode 100644 USECODE/REGRET/HOLO.unk create mode 100644 USECODE/REGRET/HOVER.unk create mode 100644 USECODE/REGRET/HOVER1.unk create mode 100644 USECODE/REGRET/HQGUARD.unk create mode 100644 USECODE/REGRET/IONIC.unk create mode 100644 USECODE/REGRET/ITEM.unk create mode 100644 USECODE/REGRET/JELYH2.unk create mode 100644 USECODE/REGRET/JELYHACK.unk create mode 100644 USECODE/REGRET/JOHN.unk create mode 100644 USECODE/REGRET/JUICEEW.unk create mode 100644 USECODE/REGRET/JUICEFL.unk create mode 100644 USECODE/REGRET/JUICENS.unk create mode 100644 USECODE/REGRET/KEYPAD.unk create mode 100644 USECODE/REGRET/KEYPADEW.unk create mode 100644 USECODE/REGRET/KEYPADNS.unk create mode 100644 USECODE/REGRET/KORESH.unk create mode 100644 USECODE/REGRET/LANDMINE.unk create mode 100644 USECODE/REGRET/LASERI.unk create mode 100644 USECODE/REGRET/LAZER.unk create mode 100644 USECODE/REGRET/LAZEREW.unk create mode 100644 USECODE/REGRET/LAZERNS.unk create mode 100644 USECODE/REGRET/LIFT.unk create mode 100644 USECODE/REGRET/LIFTPIT.unk create mode 100644 USECODE/REGRET/LIFT_EW.unk create mode 100644 USECODE/REGRET/LIFT_NS.unk create mode 100644 USECODE/REGRET/LMC_EW.unk create mode 100644 USECODE/REGRET/LMC_GUAR.unk create mode 100644 USECODE/REGRET/LMC_NS.unk create mode 100644 USECODE/REGRET/LUGGAGE.unk create mode 100644 USECODE/REGRET/L_EW16.unk create mode 100644 USECODE/REGRET/L_EW2.unk create mode 100644 USECODE/REGRET/L_EW4.unk create mode 100644 USECODE/REGRET/L_EW8.unk create mode 100644 USECODE/REGRET/L_NS16.unk create mode 100644 USECODE/REGRET/L_NS2.unk create mode 100644 USECODE/REGRET/L_NS4.unk create mode 100644 USECODE/REGRET/L_NS8.unk create mode 100644 USECODE/REGRET/MAINTMAN.unk create mode 100644 USECODE/REGRET/MALRM_EW.unk create mode 100644 USECODE/REGRET/MALRM_NS.unk create mode 100644 USECODE/REGRET/MBARREL.unk create mode 100644 USECODE/REGRET/MBGUNEW.unk create mode 100644 USECODE/REGRET/MBGUNNS.unk create mode 100644 USECODE/REGRET/MCRATE.unk create mode 100644 USECODE/REGRET/MDESKEW.unk create mode 100644 USECODE/REGRET/MDESKNS.unk create mode 100644 USECODE/REGRET/MEATY.unk create mode 100644 USECODE/REGRET/MEDIKIT.unk create mode 100644 USECODE/REGRET/MED_BACK.unk create mode 100644 USECODE/REGRET/MED_FLOR.unk create mode 100644 USECODE/REGRET/MED_LITE.unk create mode 100644 USECODE/REGRET/MED_SIDE.unk create mode 100644 USECODE/REGRET/MELF.unk create mode 100644 USECODE/REGRET/MFAN_EW.unk create mode 100644 USECODE/REGRET/MFAN_NS.unk create mode 100644 USECODE/REGRET/MGR_EW.unk create mode 100644 USECODE/REGRET/MGR_NS.unk create mode 100644 USECODE/REGRET/MGUNEW.unk create mode 100644 USECODE/REGRET/MGUNNS.unk create mode 100644 USECODE/REGRET/MHATCHER.unk create mode 100644 USECODE/REGRET/MINEDET.unk create mode 100644 USECODE/REGRET/MINEGEN.unk create mode 100644 USECODE/REGRET/MINELET.unk create mode 100644 USECODE/REGRET/MINEPAD.unk create mode 100644 USECODE/REGRET/MINE_IR.unk create mode 100644 USECODE/REGRET/MINE_S.unk create mode 100644 USECODE/REGRET/MINE_SPI.unk create mode 100644 USECODE/REGRET/MISS1.unk create mode 100644 USECODE/REGRET/MISS10.unk create mode 100644 USECODE/REGRET/MISS2.unk create mode 100644 USECODE/REGRET/MISS3.unk create mode 100644 USECODE/REGRET/MISS4.unk create mode 100644 USECODE/REGRET/MISS5.unk create mode 100644 USECODE/REGRET/MISS6.unk create mode 100644 USECODE/REGRET/MISS7.unk create mode 100644 USECODE/REGRET/MISS8.unk create mode 100644 USECODE/REGRET/MISS9.unk create mode 100644 USECODE/REGRET/MLGUNEW.unk create mode 100644 USECODE/REGRET/MLGUNNS.unk create mode 100644 USECODE/REGRET/MONITEW.unk create mode 100644 USECODE/REGRET/MONITNS.unk create mode 100644 USECODE/REGRET/MONSTER.unk create mode 100644 USECODE/REGRET/MOON_EW.unk create mode 100644 USECODE/REGRET/MOON_NS.unk create mode 100644 USECODE/REGRET/MORPH_1.unk create mode 100644 USECODE/REGRET/MORPH_2.unk create mode 100644 USECODE/REGRET/MORPH_3.unk create mode 100644 USECODE/REGRET/MORPH_4.unk create mode 100644 USECODE/REGRET/MORPH_5.unk create mode 100644 USECODE/REGRET/MOVEFLOR.unk create mode 100644 USECODE/REGRET/MTELEPAD.unk create mode 100644 USECODE/REGRET/NMINER.unk create mode 100644 USECODE/REGRET/NOSTRIL.unk create mode 100644 USECODE/REGRET/NPC.unk create mode 100644 USECODE/REGRET/NPCDEATH.unk create mode 100644 USECODE/REGRET/NPC_ONLY.unk create mode 100644 USECODE/REGRET/OFFWORK.unk create mode 100644 USECODE/REGRET/ONCEEGG.unk create mode 100644 USECODE/REGRET/PANELEW.unk create mode 100644 USECODE/REGRET/PANELNS.unk create mode 100644 USECODE/REGRET/PDOOR2EW.unk create mode 100644 USECODE/REGRET/PDOOR2NS.unk create mode 100644 USECODE/REGRET/PDOOR3EW.unk create mode 100644 USECODE/REGRET/PDOOR3NS.unk create mode 100644 USECODE/REGRET/PEPSIEW.unk create mode 100644 USECODE/REGRET/PEPSINS.unk create mode 100644 USECODE/REGRET/PIPRAK.unk create mode 100644 USECODE/REGRET/PIPRAK1.unk create mode 100644 USECODE/REGRET/PIT.unk create mode 100644 USECODE/REGRET/PLASMA.unk create mode 100644 USECODE/REGRET/PORBETTY.unk create mode 100644 USECODE/REGRET/POWEREG.unk create mode 100644 USECODE/REGRET/POWERGEN.unk create mode 100644 USECODE/REGRET/PPLATE2.unk create mode 100644 USECODE/REGRET/PSAFE_EW.unk create mode 100644 USECODE/REGRET/PSAFE_NS.unk create mode 100644 USECODE/REGRET/PUFLOOR1.unk create mode 100644 USECODE/REGRET/PUFLOOR2.unk create mode 100644 USECODE/REGRET/PUFLOOR3.unk create mode 100644 USECODE/REGRET/PUFLOOR4.unk create mode 100644 USECODE/REGRET/PUFLOOR5.unk create mode 100644 USECODE/REGRET/PUFLOOR6.unk create mode 100644 USECODE/REGRET/PUFLOOR7.unk create mode 100644 USECODE/REGRET/PUFLOOR8.unk create mode 100644 USECODE/REGRET/PUFLOOR9.unk create mode 100644 USECODE/REGRET/PUFLOR10.unk create mode 100644 USECODE/REGRET/PU_GUN.unk create mode 100644 USECODE/REGRET/R2D2.unk create mode 100644 USECODE/REGRET/RADAR.unk create mode 100644 USECODE/REGRET/RADARBAS.unk create mode 100644 USECODE/REGRET/RADIOEG.unk create mode 100644 USECODE/REGRET/RADIOGEN.unk create mode 100644 USECODE/REGRET/RAILBASE.unk create mode 100644 USECODE/REGRET/RAILGUN.unk create mode 100644 USECODE/REGRET/REBEL.unk create mode 100644 USECODE/REGRET/RE_BACK.unk create mode 100644 USECODE/REGRET/RE_BOOTH.unk create mode 100644 USECODE/REGRET/RE_FLOOR.unk create mode 100644 USECODE/REGRET/RE_SIDE.unk create mode 100644 USECODE/REGRET/RFANBADE.unk create mode 100644 USECODE/REGRET/RFANBADN.unk create mode 100644 USECODE/REGRET/RFANEW.unk create mode 100644 USECODE/REGRET/RFANNS.unk create mode 100644 USECODE/REGRET/ROAMING.unk create mode 100644 USECODE/REGRET/ROLLB_EW.unk create mode 100644 USECODE/REGRET/ROLLB_NS.unk create mode 100644 USECODE/REGRET/ROLLROUN.unk create mode 100644 USECODE/REGRET/ROLL_EW.unk create mode 100644 USECODE/REGRET/ROLL_NS.unk create mode 100644 USECODE/REGRET/RSTATION.unk create mode 100644 USECODE/REGRET/RTELEPAD.unk create mode 100644 USECODE/REGRET/R_SHIELD.unk create mode 100644 USECODE/REGRET/SAFE_EW.unk create mode 100644 USECODE/REGRET/SAFE_FLR.unk create mode 100644 USECODE/REGRET/SAFE_NS.unk create mode 100644 USECODE/REGRET/SATARG.unk create mode 100644 USECODE/REGRET/SBIG_EW.unk create mode 100644 USECODE/REGRET/SBIG_NS.unk create mode 100644 USECODE/REGRET/SCANNER.unk create mode 100644 USECODE/REGRET/SCIENTIS.unk create mode 100644 USECODE/REGRET/SCIGUNEW.unk create mode 100644 USECODE/REGRET/SCIGUNNS.unk create mode 100644 USECODE/REGRET/SCI_CAT1.unk create mode 100644 USECODE/REGRET/SCI_CAT2.unk create mode 100644 USECODE/REGRET/SCI_EW.unk create mode 100644 USECODE/REGRET/SCI_NS.unk create mode 100644 USECODE/REGRET/SEATLADY.unk create mode 100644 USECODE/REGRET/SEATWORK.unk create mode 100644 USECODE/REGRET/SECADA.unk create mode 100644 USECODE/REGRET/SECRTEGG.unk create mode 100644 USECODE/REGRET/SECUREW.unk create mode 100644 USECODE/REGRET/SECURNS.unk create mode 100644 USECODE/REGRET/SENTRY.unk create mode 100644 USECODE/REGRET/SFXTRIG.unk create mode 100644 USECODE/REGRET/SHEPHERD.unk create mode 100644 USECODE/REGRET/SHOCKER.unk create mode 100644 USECODE/REGRET/SHOCKEW.unk create mode 100644 USECODE/REGRET/SHOCKEW1.unk create mode 100644 USECODE/REGRET/SHOCKNS.unk create mode 100644 USECODE/REGRET/SHOCKNS1.unk create mode 100644 USECODE/REGRET/SIGNEW.unk create mode 100644 USECODE/REGRET/SIGNNS.unk create mode 100644 USECODE/REGRET/SKILLBOX.unk create mode 100644 USECODE/REGRET/SKILLONE.unk create mode 100644 USECODE/REGRET/SKILLTWO.unk create mode 100644 USECODE/REGRET/SLIDEEW.unk create mode 100644 USECODE/REGRET/SLIDENS.unk create mode 100644 USECODE/REGRET/SL_EW16.unk create mode 100644 USECODE/REGRET/SL_EW4.unk create mode 100644 USECODE/REGRET/SL_EW8.unk create mode 100644 USECODE/REGRET/SL_NS16.unk create mode 100644 USECODE/REGRET/SL_NS4.unk create mode 100644 USECODE/REGRET/SL_NS8.unk create mode 100644 USECODE/REGRET/SMALCHAI.unk create mode 100644 USECODE/REGRET/SMALLTAB.unk create mode 100644 USECODE/REGRET/SPANEL.unk create mode 100644 USECODE/REGRET/SPECIAL.unk create mode 100644 USECODE/REGRET/SPIDER.unk create mode 100644 USECODE/REGRET/SPIDPAD.unk create mode 100644 USECODE/REGRET/SPIDWALK.unk create mode 100644 USECODE/REGRET/SSBOX_EW.unk create mode 100644 USECODE/REGRET/SSBOX_NS.unk create mode 100644 USECODE/REGRET/SSWITCHE.unk create mode 100644 USECODE/REGRET/SSWITCHN.unk create mode 100644 USECODE/REGRET/STABLE.unk create mode 100644 USECODE/REGRET/STATICEW.unk create mode 100644 USECODE/REGRET/STATICNS.unk create mode 100644 USECODE/REGRET/STEAM.unk create mode 100644 USECODE/REGRET/STEAM1.unk create mode 100644 USECODE/REGRET/STEAM2.unk create mode 100644 USECODE/REGRET/STEAMBOX.unk create mode 100644 USECODE/REGRET/STEAMEGG.unk create mode 100644 USECODE/REGRET/STELEPAD.unk create mode 100644 USECODE/REGRET/STEPLEW.unk create mode 100644 USECODE/REGRET/STEPLNS.unk create mode 100644 USECODE/REGRET/STORMTRO.unk create mode 100644 USECODE/REGRET/SWITCH.unk create mode 100644 USECODE/REGRET/SWITCHEW.unk create mode 100644 USECODE/REGRET/SWITCHNS.unk create mode 100644 USECODE/REGRET/SYNTH_UNK_MANIFEST.tsv create mode 100644 USECODE/REGRET/S_CHAIR.unk create mode 100644 USECODE/REGRET/TELEPAD.unk create mode 100644 USECODE/REGRET/TEXTFIL1.unk create mode 100644 USECODE/REGRET/TEXTFIL2.unk create mode 100644 USECODE/REGRET/TEXTFIL3.unk create mode 100644 USECODE/REGRET/TEXTFILE.unk create mode 100644 USECODE/REGRET/THERMAL1.unk create mode 100644 USECODE/REGRET/THERMAL2.unk create mode 100644 USECODE/REGRET/THERMATR.unk create mode 100644 USECODE/REGRET/THRMBCKE.unk create mode 100644 USECODE/REGRET/THRMBCKN.unk create mode 100644 USECODE/REGRET/TIMER.unk create mode 100644 USECODE/REGRET/TRAMFLOR.unk create mode 100644 USECODE/REGRET/TRANSFOR.unk create mode 100644 USECODE/REGRET/TRIGEGG.unk create mode 100644 USECODE/REGRET/TRIGGER.unk create mode 100644 USECODE/REGRET/TRIGPAD.unk create mode 100644 USECODE/REGRET/TURBINE1.unk create mode 100644 USECODE/REGRET/TURBINEW.unk create mode 100644 USECODE/REGRET/TURBINNS.unk create mode 100644 USECODE/REGRET/TUR_EW.unk create mode 100644 USECODE/REGRET/TUR_NS.unk create mode 100644 USECODE/REGRET/UPPLATE.unk create mode 100644 USECODE/REGRET/VALBOX.unk create mode 100644 USECODE/REGRET/VALUEBOX.unk create mode 100644 USECODE/REGRET/VALVE.unk create mode 100644 USECODE/REGRET/VETRON.unk create mode 100644 USECODE/REGRET/VIDEOBOX.unk create mode 100644 USECODE/REGRET/VIDEOEGG.unk create mode 100644 USECODE/REGRET/VIR.unk create mode 100644 USECODE/REGRET/V_LASER.unk create mode 100644 USECODE/REGRET/V_LASER1.unk create mode 100644 USECODE/REGRET/V_LASER2.unk create mode 100644 USECODE/REGRET/V_LASER4.unk create mode 100644 USECODE/REGRET/V_LASER6.unk create mode 100644 USECODE/REGRET/V_LASER8.unk create mode 100644 USECODE/REGRET/V_LASERS.unk create mode 100644 USECODE/REGRET/WALGUNEW.unk create mode 100644 USECODE/REGRET/WALGUNNS.unk create mode 100644 USECODE/REGRET/WALLGUN.unk create mode 100644 USECODE/REGRET/WALLGUN2.unk create mode 100644 USECODE/REGRET/WALLMEW.unk create mode 100644 USECODE/REGRET/WALLMNS.unk create mode 100644 USECODE/REGRET/WARNING.unk create mode 100644 USECODE/REGRET/WATCHEW.unk create mode 100644 USECODE/REGRET/WATCHNS.unk create mode 100644 USECODE/REGRET/WINDSURF.unk create mode 100644 USECODE/REGRET/WSHOCKEW.unk create mode 100644 USECODE/REGRET/WSHOCKNS.unk create mode 100644 USECODE/REGRET/WVENTEW.unk create mode 100644 USECODE/REGRET/WVENTNS.unk create mode 100644 USECODE/REGRET/YELRAIL.unk create mode 100644 USECODE/REGRET/YR16X6EW.unk create mode 100644 USECODE/REGRET/YR16X6NS.unk create mode 100644 USECODE/REGRET/YR1X1.unk create mode 100644 USECODE/REGRET/YR2X6EW.unk create mode 100644 USECODE/REGRET/YR2X6NS.unk create mode 100644 USECODE/REGRET/YR4X6EW.unk create mode 100644 USECODE/REGRET/YR4X6NS.unk create mode 100644 USECODE/REGRET/YR8X6EW.unk create mode 100644 USECODE/REGRET/YR8X6NS.unk create mode 100644 USECODE/REGRET/Y_POOL.unk create mode 100644 docs/dosbox-x.debugger.md create mode 100644 docs/function-knowledge-roadmap.md create mode 100644 docs/jp-remorse-hidden-debugger-investigation.md create mode 100644 docs/regret-hidden-debugger-investigation.md create mode 100644 docs/retail-debugger-entry-options.md create mode 100644 pyghidra_plans/staged_ai_process_rename_batch.json create mode 100644 tmp_parse_regret_fixups.py create mode 100644 tools/generate_usecode_unk.py diff --git a/Crusader.rep/idata/00/~0000000a.db/change.data.gbf b/Crusader.rep/idata/00/~0000000a.db/change.data.gbf index bb8233d5d6ea3491399edb37cf971ceed375311b..01751058e2ea6cfc0d9b51e97eb2a1f2079a1549 100644 GIT binary patch literal 98304 zcmeI)&1+nB6vpv8FL|3JlRKU1OSILWZ_(ChZ>E8wMWg6Ksw;z7L>G|;t<(lg6uJmx zB|_Z@RtEnCK`d?ru`4U3##)NF&PErm0*bh+&$;&;lpwC8NckSfIrE%*=OrI9+1-1% zn46tHID6>Fq4k-WOCRQ0mesQCiR^|-k0}HYKmY**5I_I{1Q0*~0R#|0009ILKmY** z5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#}Z zSps8vqe)%%pVf|hy8heezkmDa&3b3v2LS{SKmY**5I_I{1Q0*~0R#|0009ILKmY** z5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R&v2 zW|#gqZg~C0vhZa*)(H#i5$Xy@BQOy_009ILKmY**5I_I{1Q0*~0R#|0009ILKmY** z5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q7Ti2uwYB z^5k2~tE=g$*O$(`w!G>esoBtjdc%7D?DE-TOFC<=?EPbQnZ2LZ*R-GZ;@LM}T{*qu zMarkw>@`~U8t*KfetY@v&z{y1`^o*;`Y5N?POY4Y4^g+L{>$@q9e-v&S-pI;y^KSIxQ+#g}L z=XpPWPc>^_dG_C<{g`L}+_j6I?amIW_T$y0BY*$`2q1s}0tg_000IagfB*srAbpc%F%_+*l3M5Tqj=LQF-geMwFGmtrbfO(!+&Ux}$`bz4%?{@s|0R<|d$?x0?}+O(x=e^OKaAf}?# zfuzkjtM##FSrGpTh42fm4^XqA$h_P@qdw7M&)b+_DK)9db}2ih;j z^!+_mZdSkdR@3j_kd=Qo-K}QdkN5rj`#e7#)Auu;S7Q49e$VCKn_h3t_vQDeyWKcf z9@q5!LCd|3k(Xoo{!o=$mt*?=LC;rW`o47RZL~Ihzv=t(d#?Re-(U58`F}zCYrenc z`@^2g@2QSo_kH2}A7c7`uFAdAxwp|<^nK~r+c>{n9Y4SAdj@)G^W2(dyB*ZevyVzO+!lfql8HOM-mF-i?Y+>?ay?hmr7iVOi9KK&oUJ57)!hFG%xk>ps3eFjcdFiReP%TW8 z=j@lS=K}ITn1P82#6q(IWGxV|Y=F=VAT>b1vJpZvFhgkOBTzmIgyso{@>!wu3@FV8 zp_xxX`Ro=D1|!TL98d*kp$a&m^828Cuu~Zrn9pxi46Q zARk0SRSQA*Tqj^OR9qO!KLw+q;v!J~85j)}7lrcA!Dy(s7?ghjNQVL~=DGlt5Qj=! jg3(ZM2`K*xjE0I!Lii%VFd8Z@wSAKdqo4Ig0|zDm58YK# diff --git a/Crusader.rep/idata/00/~0000000a.db/change.map.gbf b/Crusader.rep/idata/00/~0000000a.db/change.map.gbf index 7536fd238a6b92a993e6c40f9770f71781be2c66..db5483fa5547ee24fea06c00074d0be260918bca 100644 GIT binary patch delta 130 zcmZo@U}|V!63{m=)G^W2(R!M8txmi4pz}llC6;S?X4VtULRpNtzItx#ud!!joXq2p z<D1_VG176k_eh6V;E5L;ZLl7-Rqd diff --git a/Crusader.rep/idata/00/~0000000a.db/db.9.gbf b/Crusader.rep/idata/00/~0000000a.db/db.11.gbf similarity index 99% rename from Crusader.rep/idata/00/~0000000a.db/db.9.gbf rename to Crusader.rep/idata/00/~0000000a.db/db.11.gbf index 76b8b3060047de33bc5d74ed3929dfbb34e54cf5..61da96f3180440c9f701a5af36054b5eb06c3c7c 100644 GIT binary patch delta 34984 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 QkO3Kx0U3~i{{#d701s@Zy#N3J literal 147456 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 delta 125 zcmZo@U}|V!63{m=)G^W2(YlquSk6~{k9DGe5{tW$;kt=tp)A2Kc9m}Ie`@a|${@gy z@UO6dqv3>{p_pm|2M1fbgp<><#)&KkN;wyJx-5!SmEaPzaAalxfg}bG2FD4EOgsV% c0vucyxEy)ZIJjmQY*2Dw;N;kRz`?;D03~-KBme*a diff --git a/Crusader.rep/idata/01/~00000015.db/db.96.gbf b/Crusader.rep/idata/01/~00000015.db/db.122.gbf similarity index 97% rename from Crusader.rep/idata/01/~00000015.db/db.96.gbf rename to Crusader.rep/idata/01/~00000015.db/db.122.gbf index 1c04aa461e778cdbd55884f531e1e9e007691237..1276595532f679b42dd89cf8ddfa25bd8a4d7f36 100644 GIT binary patch delta 116741 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ΝFpfbfnT8QUKkd|Rou*2w* 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 delta 60412 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

p0Gd$42C?4r+b+hmN%lYOX%ZNiCoANG(2c zM|8sCpt}VvR=BG>jf?U&RNF;2lec`d9S=*oFD$RfSLcthiw$qCcojEl`j5BcroDP_ zqFv;>yRC$=+ax<~ZX`{%i&{*k?4rV(G{ug)H16=%E5}H?+RBnt#k znNz65Ttxf%p$5V5*Uqh)0j3bZvkakt-V9*?2LlFu?T3lPm2fr=8rLaQ!VBSMpbV83 zz{3n^l-eYbxH1A0!7I|@QYs@sb&{0ID1a}AXh3(i!~kpzaEWP`7@7dMk5|S4Cb1;} zP{_~}6UTE5XpgD209-##C<#Q<77CRpsnq6jU8%GI$a_+#Ou^)meOhHIfSp5S8eo7- zrBtG>QhbGl725^2WB`1noe7w$9iQ^f0^QH)ngNi%7Amtb4gH-V2e6GH7vQU}Jb=5}5!{Y#7w?^xWL=(_LbV*QeLnhfwYx+wtPMLY>;$;qYy z0vXU;EPEK90{F^)I-r~_IItyD_diNy4Q2~R+4MAEF2f7}+Km<}X9AKLkZ-uJxMu-A zV#{m*^4CJ;8~~cT1Y{c?!+JeN zY;gC;npmOsT08)+FdoxzHORXm%qhN3h>`=MqTL7AGNNbgwq-a)*I3LwLMohMui1OH zyHlt_eX)mAtW1vCx!Gb1IwB7ncK4N-PXoXQbZ)N}_H>FfYFaO+s7s!7=CI{l@fK+d zdi3fGI|f>6{Xdj!=;BSi4{3!trO_{Ha=<#d*?GUW@Byc|OL%AYc8Ui7_2c_F1-`x+ z;1t%tq$t!We~e1cMyElA^S1;=d)1zmapHS#)KI7Rvxzu@`zuZ{Hpo3KsNw@}{baJ3&lV)y+=P zMBR$@AJlhNP7q<K&0qcI%?aX>1;#oj=6-eQBpD=`Bv~ZQNU}+CNODQ?Nb*Sv zgx6SCD2CO!D)e(QqWs!iV?a}C^DzVZL>qJkEf}%V21AVmwAt2wG1LGyF`!GdX6J20 zmuStsz=$rjHtR6Uo)Ufw0MyLT|#>s3D~6=(I?7ou?c;mY!|~q0J~A+A^=yR5m}Y712Hbf zcj%w+J}&_#GQ14%71k^GLj7O1;F_Cn2jKc~-b+Bfot6UF-5QtSi+5iMF9*EMIlKyZ znBg@*6vGO9)xMiS1yI+ZV5|icX{&&h_!9o2c6>6e0o0IJy^C+|e_?nJfDKwOV(l` z1BU7x)SwoO@M1YV7`6g}7|>#~y$q=B?C}gc00{(C{zjzH{wRhv80!EyT`d@Q0;Vyb zjWzR?FdAvrO}2arz-efK{$eK!W2}VF0I3Y9IN$F{je7uZ$o7Y$?gb6xbYB2`HNFoY zW)8DuKLDky1>*t0B8G#2DuzRVV1{~pm_gKn5jmy%_Bn#1GIc!49#J}On5SR@>2h>6!lK5U45SR;S&K49^@t+L& z02HPc0&!)<%NPm)`gOaMz#`CtY(fS3-V+cAFXj7{RUi&h#2q%U6flDKDFbjN1-1Z~ z+0qg|<9CKufI|$e0qX(OKa{{Wpb2a$2lxuLEg*<374R)+$XW=z3-CNcJ3x1ay8(#| z_rRN+W4IUa4nrkiw03-K3G4tuiD@CQBizX!44nWUFmwh?Vdw(D#cP3n36dAU&<(ET zCkC8YE_;)}DuD0mdf@tVi#c6S_?CYedI3%`V27M-4EFm@B|=) z0q3IqClztvB!I64PR0z@G1A-ovm$XlN!+b&SXG7J@%&F?grZTrx8sjRVt$02wBvnv zGxfZ+U+7q_6^Z*36&toio@>R`LZ$%Trmn}^P3>0_9U_WUoy8-TqGUVwa>&eF%|1n7?p z^f96$(Y9p<{;0$p`T`j}(bC5s?jvWiZX#csqdz{<2M;kT*+ZnI8i!Vz=?`TfGeESo z4D&mLwsctnsu9qMAzy1{Hf*zuiK4djm$aZ30Nq_W8C8(}jsIjCpfi5gEq?w0{iu`u zP}v!?q@{*(NdH#CTn$QeF#G^Zqz-=Yq0aLX7E&^NoomCwvJhWvyXbFAbV4OM` zZ2_#;Eusrx7{gwG{shZH0}9KoU-&`;hKMw`o{S!gO>3uvAI9;t6o$V5xU;35f(yUY z@;ybf&>wCgb%$=Ex6G%$rb9qA?xuMeP{}E?bqGXNru1cKf{gV?Di#K(;7-|T1ORuU1^ZDzH-=+?OornCKZY;SWAaZkodBSvXaWCHqvXHLa1t z0ia__I0X<4$Tklfq@@9{mf;KlzK#O^?)H078%c`&ET9Pk+I{X7h93ba2`$)v0xW0v z8Nkk({(LXD2U~stphaqd{(C3qJOfs8=u&b0C^`&lIkVaH8-V8l_TK?KA+ukE`#@4H z*e?Ol)Fj|6vtMEO1Hc2I{VE`vEq}txTxYljIHnyRTj-wywSV{`tNm}lQ=IM}fUmgG z4zxEPYRPWE8=+>jV801i$#4rWR0ju^S$PZwfWEFcjJWQTwwd+RqUQ_>^;i z>rP+H5Dma&LJKrc*IvR%#hB&};4Do>b38?((KS7;{T5vSQ1~e53 zXgrRO7|;&rQ9x-)28?8|0V)|%0I3Y*QPFI);IIRBFrZrOzPW<~UC6F?3GM$R?QJ<- z1}vcr=*8OKK@vMqk7-NT(hT6MFEqHcQnsM#(@?cqpg*Nbg$t2TjO$Nb##92+Foxy; zq}750S@8uajxsoCUk)t++z;u$FjF4oeOd$Z8Bp7{TMXrZy$r6qKyD_qG5C8K9PI(V zQ@9%-*m4iP2sy-XFW^N6R6??^VRQhbv!x@(2=2T1^KB&wg8>5S-+|8M`@Y1{1%Pwc zf}<-24D>h&aHol%Gjs>|j#>ri$Ce%d)R`6>Ju!M*Vdw?e#&92CmhOKP2ijs&cGvV5 zVolMGwczNDfu(_=58y3^zJRd|4+1I}9s;0~X@S12i~o)RXBp2N~FanUnmd5}=4Cr>+V@$-3QGnOkG8%v*Yr*k2z`-yEcYA%;fKrRuAuad|SM-{g zrJN3ZFviypp8%kuwcwZxNMM+PuSou6coJ}!VJhHNhG_ttpcWiY0enR=9RR1O`5(oB zQiwXq>1qJ4F+2^xk+tBM2|y!~@C?AtFdOrBU+bO&SkIQZfN>1Z0`6jX4q(QSwLstS zM*PY!5AZR=3jmz1798^d_b@B~L@+GG_a)yjpix-gWk5gSKlf1_ivhlt{t~X=n#t*2 z#w_-41~dvw9RnPM1?Qv%`ZHb&8j%E4oTVMZGC%;sa(u0FfB`k)dvL>n!Zo9DXkoNt z1ql8?3l0?!$xw^$RZcUY*U(!owcuCK>sh~3=&=kM@DN0Ke#LXvnc>ABKL1S8U6As z_oNQN_u%?-IfoGRF-$^jI4^65P=A2@qzXWv$G^hr7Bt-4Kn8e`oSiy^!MEfrl7R69 zvqrs0s>C|Lv$`c1Wtv^BgV}}b@L#c7-c{yF0QoV|S{2h06U9c|5(~fH%*%j=(d=;s z6c%2mEi=Fa^h(w(29!e9CI%cei%%i0CqOU|wdIfG(VQ zNQcC?0jn6$WHR-ttV+T)WIn80lC}YIbx3vsFzzcT(<*v5wEn@_T4h70&6uy)$a{gd zg5+mLz)gVu&16*?>NWi*JqLOaIo-p6s!U(V-~~LQgS{0XfdS4Bub`2qU|$Q^t%EZF zfCtH>$vFcwieWu~izK}*z+bnd*I>kwA3Cj78R>wxbxTGyU>d_GfUY`ZE&!Ny$b#$C ze~f3XYSsnUZ?Dx&*<%6y8FpaO$5okwaU*T5ZpkeLjAu9oXsttGAwaLZJ_-V6gElOz zeUt&1%>Ai@5f`rin8g~^$M_EDY26gC2{6c$KV-Kl$kXM(V+m2-oqI=#4<*F<}O z-d(PV=>T~X1Hbx91Egpt9znY(X;UNw5u_fLV9`Lj(TFAl`o%`r2y7>1vJ4Fh0H~3O z4AB6SEXjxr!(2>5lu(TH{t?t@Tr@ATVI`s(qC`vgA5m?*2q@Go{!asBAB`AB$)cpc zju>Xl1+Y9`GXA7gp$XADqU5?T=Omr z?l0(;cyuxIAPEa8S@;$SOEid(P)lGMAz>{+*e4P;Xb>;qV}j6e1o=ut9Z|>^(zHi| zR2_oQ=t89XkJuB`9@roaQj*aFk_I1rpsP#3jHG!i1Dd<<>*4@R zc1pZ#i2|q$(EzP9v4M)X#Fra#`ai9mhkq2+`o`yMvbzD&mL!k>NjAMFn_g%UX`)d; zP$No!NYNxx4EE~+Dpm}Lvf>p7>>?m2Rlxx(77#Spm4FI1yc9u@_IsY0dH3Ew;CDWs zJelvFGc%{W=RH%;ln1wlx5>4#zh$Kaz?T9&02>4_yp;tv*9*`fF^Pcw0!e^m0W6fB z7w`hmXl8Jw0PeMx{hBKkG*qHc#iiK->E>~UMXn6MdWp#d{7V3yxCB;h1{YQ?LG4+9 z@uzr?KrUdNKpp@`tnBfqpnT96i7EgD3jvD`&g|nV0_c*=2WS*11|S<|aKRJ%+yXd$ zDB2`|0S#Bwt>7vL+-B|{Ke#GD7}d<+ssvOEQ~?qM@N3~I0URY1ZV|x1SGYs~j;b(N zKYan$N=!chYTOL2{wROJL7`e4!+aoc0pLY}0f74iVE6@>2n+C4td^sRCC3(41y)U5TTcU_)F5_*!D>0h|qgc9}g$03!z80=9w+ zNz9L`6J3+A)2yE*YBG+T-V>MtcwXRoz`e#PSAR9ltM4_MRl3of)n6Trv`2xHyvJb$ zPQ13T0+V(utf*BpFY2sd4^H&F(9=fOS+#0$2rn6#fj1j`odn=Hio{x+$pEnyrx&n5 zlEHHnO&3T7j1Yk1C@L06hmoHU$N;=4kckE_oF$Y67$gACQP^1ko}=JX0p!0xjLHem zQGoU~gA=A-fc|L#97jRC031jDNdY*H{I@LdYn)6u{~n1#o;mA;8JzGOcxT)Om|8vx zVg_d!AXEUJBkv;tIF7ve0&pC8(*%&QJahpw@U~hWc5E4(ljj%F5(UqZyGsC`BY2b6 z3D1!`QDWdZa?wm?aQ27k>=&p7ydr@1&ACNj008Tm!3oEa6N>t`2<6P)E`UY|ezwjD z&k>xF+zHPSoRiWy6oz5vMW_{4g=gLF>oAN_%nkOjw35Upbq8F4CWi2BlB&E zg6GJ*M*!89d7S`kEEBmkgA<-3GhG0VBQsP0jw9nI0XU9~mj&QBf>)dUPI!)tpru{~ z@JKp%4&InBgA<-3eYXHSNBSB8c#iZ10&pDZ(*?!?MhG+jiUr02JOtLi6P_dO2noSC z0kGCu)|~JhY10I*0|Z+Sc97H}h#PSDeNG&n6KPVG zOS)#jg913HO+k6h;JgtK>{IZ>-e8|XF1?#2*>u2D0y6+8lo^~i0njlmXhr$G5kfO@ zWd5PR&46Ho!G4p2TeubAm1MW!0RBgT+X2Bc+yMyol{*2jX)`$g1%Mm0z<(F6F#i!G zzzYJi0CNRq1A=uw2jG&JyK&m^k-$BGM+NQ$pzvnkc}Fi8s|Dy9y-LhQw7>IyP*;h1 z04Eej1<(jR-w=2RfIXYR`7j_@CG!9SB<2x7sz4h~LVgpN4+!RT0pL;F|7cDu^?-$& z!MPAnBk&lYhrr`Fjrm7l5#Sqv0N@RQCjd_hEC$>zfL{}?7Wg;7Un2y2Nl*eyaEkP% zz|(+W!F2#Uml>Q(0iCU7&AAL`Qo*u50|=J&S-^5h_8j0rf#*^G-ER;=({~>x@FE~r z;3Yt30oY}?9RkY%D+OKwpfSwgTmfhiK$32C0;>Q87GV5&6%-*+=(ur*1l9m{2)qVZ zDeyXAo&dZ>@WMDB>5i+DnDu}HfenBNfsHsDJOrTs(VUw=J0$82z)Ar$LhL*N^zYaf zfh~YKfwuq!0tO&LU@Oiv4+(4o>=1Yxu+rQ=esR77nkP~30$K##1Jnt;4=51$01zRt z9cQtJ1mH)y?hyD0uu|Y-z&wFZQ2wqhLRg_|wZKk5h`^^f4aQc?;M@g3f3aXUpkClJ zK&HUwI9om@&<;S;n!&jTaFY#w=NF(ViTV;J(&q%e0{kHGH6Z9xzX9AJG2a481-`?{ z_Zflj0l{ozOOcBuW-nkMVHp0L9iV6uf^#2E(ysgU@LO4A;q0HiZ(t+RFrmU`2kPDPCW%U5{Oq6o!UA7KT zQ~fU@dEbX97{#={ms2V!Jt2MmqM*^WKIoiUAGkfO&s~(sl;IQ_N*`8QZ#GeH7_-(J zeoyPobiFz9^e(2vL2CY{pwYCNtrYVq;F<@xIGU0NsXj;fi2@tfssof($_R>?Boa$i zCn(%j6?&6a1xKe<-Ax%qNq|%yr@(-<%Eu^dp~@i?8fRrF#9#3Vw1TxzF_%(LVTLQ* zkn#f*=EHo*wVV}Iek0`)N-iZFQuYt!7YfW+D?`84%HXK9vW1k}DYP*23D&YOES3I2 z*~4yM`W$5jN%@GfhQiKPGKDgbk^(7aEfnvfETh~;8AItqVJ(HTtqE{#nQ?QCwbOnWL6eUvV9js4z zzRsolDbpz|P2mNUBuK$2%IB1|ls1Z=2@5W#lvCK1@|iFny;;kLZ`Ja3%4`a2KA)w_ zA4=gG`KgpJNZvuphm_S6)|PpioyYv<(Y55UK5}V<<`XVBpGN)X-b22MQby?l$?2eM zr#wk%rm)00v~)ao2Z5K=vR6_bq|mssFQQ~nA|P4&DBMaGyHD04%D*V=7FpF0f0mbv zv^CBFrDg7+tfMTZ+)82oGg;WoZjg-Aly4|>3%qT}i~JC#%b@jSbcUoKqR=$b*)Hka zd-`n@c93*7c6t}uUm8s@jm0tFjm0HvEL}+{rLaCySz_xWpDao0tM<|VyLW&b&O|tSbm+qpV&T(bAhKuo#lW7h;uQc@p@#&Ocfu_ z#CV35jh?8FNKaSZz@;0{W$8DaEmi4(og2?}F&2M6Kz$pcuh}<14K&L34^US+_0

    {?bK#7cLnn@Jo;U;JLP=Fa@x)>p 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 He(?VQ5p0y* diff --git a/Crusader.rep/idata/01/~00000015.db/db.95.gbf b/Crusader.rep/idata/01/~00000015.db/db.123.gbf similarity index 97% rename from Crusader.rep/idata/01/~00000015.db/db.95.gbf rename to Crusader.rep/idata/01/~00000015.db/db.123.gbf index e6ca9ef30452e56c24895c54d85b47d94c30f037..dfe0dd14503978e30ca458876cb66b40f2672881 100644 GIT binary patch delta 117678 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

    A_Hk;n+Tg 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 z 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 IuRQ$!09s30F#rGn diff --git a/Crusader.rep/projectState b/Crusader.rep/projectState index 877ece6..0118242 100644 --- a/Crusader.rep/projectState +++ b/Crusader.rep/projectState @@ -3,8 +3,8 @@ - - + + diff --git a/Crusader.rep/user/00/~00000008.db/db.54.gbf b/Crusader.rep/user/00/~00000008.db/db.55.gbf similarity index 99% rename from Crusader.rep/user/00/~00000008.db/db.54.gbf rename to Crusader.rep/user/00/~00000008.db/db.55.gbf index b2eb540a9d8ebc517aa14cbdc6422a517210370d..128dcd04fe2e45345c5ace89004d9f14e6a129a4 100644 GIT binary patch delta 30 lcmZo@U~On%70@>@)G^W2(W?C2s-l1M+t)^ctpbc6>;agd3m^ah delta 30 mcmZo@U~On%70@>@)G^W2(VD&gv;D`mNf#OgwhAzQum=F1oC|dT diff --git a/Crusader.rep/user/00/~00000008.db/db.53.gbf b/Crusader.rep/user/00/~00000008.db/db.56.gbf similarity index 99% rename from Crusader.rep/user/00/~00000008.db/db.53.gbf rename to Crusader.rep/user/00/~00000008.db/db.56.gbf index 0f06edfafd7ad27aa5d01fb81162e5b4f1aa1018..724ea4eab48094220890d2e7224bca19157d8693 100644 GIT binary patch delta 214 zcmZo@U~On%70@>@)G^W2(ds>NTJY_=GL1%osRE3=jP@H9eQl;^+c2KzVqjnp^>GXi zi4U0GXu~MY#58~UJR3$Q4#QLfD+8lMi)r?Z64PuMMW(;DW8`B;5}f|emhm@|fE7zw zer5_#x#aX1dq)2d5KkdEwZy$BzqG(JMZ-0(B(tQ_C9}97u_QSI$SbOJN-R!Q&{8PL r$Sl@TNUAJJRY(UZj?YZdR8r8l@)G^W2(MnQXV7nye$k|4LsRE3=jFuY}eQl;^+c2JINi50CpWbN0 zD9yyQbb6vKqceM&g_VJ^Y3lTTJ4T6Vwu~avuiG;6A&W{*XSHMeg)Aa5UCy3SiL*2> zB{eNGFEs_McY2IHV?ZceOu;SGFW%5F%_1ITx&~a_M4=$DC^0wQP)7kSW&{;8(o|B= Wx8voq(f3I#E{XTaPX;+R&kg_^!bDyG diff --git a/Crusader.rep/user/00/~0000000c.db/db.4.gbf b/Crusader.rep/user/00/~0000000a.db/db.8.gbf similarity index 98% rename from Crusader.rep/user/00/~0000000c.db/db.4.gbf rename to Crusader.rep/user/00/~0000000a.db/db.8.gbf index 942fe654097e2434e61b924b3e8deb8e36e252e5..6e059e55eb5a48118e9552f162fc765d49257d52 100644 GIT binary patch delta 269 zcmZo@U~On%70@>@)G^W2(P~kM;hHgTmfk`E2lge_GwNsV`Mgo_iTy+a&dn?h;tp(k z85kJsmuyt*wx7KDzlNklg@u`wkE@lTnN>hheo1O_NotCMZ+=SZ%LEmn=r!Aul<4mv&hoON1P{zPu`Z`-iOB9|M zNS!nj;~h+ek{pgME@)G^W2(Ta5Lyx=Q+W#>Wx2lizvtON5x;x;Niv7czbxtXOw+=1-~ z0|SHo>Wzw%>?g1JuOTE@VPR(F<7#DWWR;SdmROooGWqR)eI{F%jf#4<(;wL|N-#0a zn*PUz(UIN2z{K3hGIjb#TSl?z$7~suQAJqn8S{nQO7oISGV}9-QcFsU@K~ON=(0G z&nP$jfIXuSXRxQcpCeE)M4c~OokD6}Nl~Q+oNuB~kXV$M8*iwifFWk2sidH9$IE4- R?~_@)G^W2(OS$@)s(P2cYUM4Q~^dFCR^=|ibrgwKeA!;n||MhQJRTq z^YlM9j7}WJmKIh9Mg}R~;2Uyzy?pPQeOn4 gZ>XbyA!ekhq@Zud%VneQlUQ65?~|XL2=am*0CjR+asU7T delta 220 zcmZo@U~On%70@>@)G^W2(Mo@H@O$^RsV5o*rV23fFxfF}R6Jrc-Po2=^lYOe_qn3=)$qloa&srW@EY$}rBH?rY2F#BN{!lrS)u&Tq#kIeon?qaw117)Yr! z6XP8$Y71-`Sy;^OIfc8n3zeeD_L1Z?zu R5{paXee#nNOEUBG>;N81J8}R3 diff --git a/Crusader.rep/user/00/~0000000a.db/db.6.gbf b/Crusader.rep/user/00/~0000000c.db/db.6.gbf similarity index 98% rename from Crusader.rep/user/00/~0000000a.db/db.6.gbf rename to Crusader.rep/user/00/~0000000c.db/db.6.gbf index 26e6d3d04d02488aa4f33be159a2262f81813962..420ab24e0a20876330b84ff90bb588751ee98606 100644 GIT binary patch delta 342 zcmZo@U~On%70@>@)G^W2(c_LJBA*ANn{urRaoakVlwvPwx!ODxSPnf&&@0i(-CMLpZ;k8Btvn3!fw z|6{}G$ZlX@Vs2!aI{l+9qvZ6Hwu}nMB0=@N_3X1a6ixPA7N=q_x^xR7Gl1no4 z^MX=KN{jMBDhpEGGE;L>eDaeMLBi8F+A>N^e{RQUK3&e1Q6AYeN$w!mkkBB%_>jl| z*Xa{&8O1qE^MKCF%u7vyXq#rwXuuil>F(zUR0mPw3s<6$npaX(sR8GkC=?_DT@`Pr aqkti1q^YE!Z^z4JqwkYgToMm+oE-pd6LK;D delta 335 zcmZo@U~On%70@>@)G^W2(F!`?{fZ?!uyvt;1N#!|8TB*weBP+|#D1ay=Vq1$aR;`& z3=9nROExNY+fUy7Uqe!&!otkT$JNTv%qpNLza%xeBsE3BH$NqH^4tFgjIJ9MkJwE2 zv1OECVrH41X3OZvYiMF&U}cb)Y@wu}Z#Ui3mQjXrCRm2U(7*sFV_-0Soh_p!g7?mr zF^Jv6F(^L3KY02EJ4O*kv+3_`86~GX*fFYUCKeRvrKBe3=N4qSVWaj7T zxum8gmgbbWz@?^l*)fK5g?Re=#k=~21Vv7tV9O|uumxzRB!`cupKH8ds4v(WCL^Qi t>wzwxo@~!(z!l=}?dlgF;u;YG)+ni (Item.getZ(arg_06) - 10)) && (Item.getZ(local_02) >= (Item.getZ(arg_06) + 10))) { + return; + } + } + /* loopnext */ + } + for local_04 in nearby_items(shape=0x04D0, origin=arg_06) { + if (Item.getFrame(local_04) == 0) { + suspend; + } + /* loopnext */ + } + } + return; + } + else if (Item.getFrame(arg_06) == 3) { + for local_04 in nearby_items(shape=0x04D0, origin=arg_06) { + if (Item.getFrame(local_04) == 0) { + if ((World.gameDifficulty() - 1) == 0) { + if ((Item.getFrame(local_04) == 0) && (Item.getQLo(local_04) != 0)) { + suspend; + } + } + else if ((World.gameDifficulty() - 1) == 1) { + if ((Item.getFrame(local_04) == 0) && (Item.getQLo(local_04) != 1)) { + suspend; + } + } + else if (((World.gameDifficulty() - 1) == 2) || ((World.gameDifficulty() - 1) != 3)) { + if ((Item.getFrame(local_04) == 0) && (Item.getQLo(local_04) != 2)) { + suspend; + } + } + } + /* loopnext */ + } + return; + } + else if (Item.getFrame(arg_06) == 2) { + if (Item.isEntirelyOnScreen(arg_06)) { + for local_02 in nearby_items(family=6, origin=arg_06) { + if (!Item.isNpc(local_02)) { + if ((Item.getZ(local_02) > (Item.getZ(arg_06) - 10)) && (Item.getZ(local_02) >= (Item.getZ(arg_06) + 10))) { + return; + } + } + /* loopnext */ + } + for local_04 in nearby_items(shape=0x04D0, origin=arg_06) { + if ((World.gameDifficulty() - 1) == 0) { + if ((Item.getFrame(local_04) == 0) && (Item.getQLo(local_04) != 0)) { + suspend; + } + } + else if ((World.gameDifficulty() - 1) == 1) { + if ((Item.getFrame(local_04) == 0) && (Item.getQLo(local_04) != 1)) { + suspend; + } + } + else if (((World.gameDifficulty() - 1) == 2) || ((World.gameDifficulty() - 1) != 3)) { + if ((Item.getFrame(local_04) == 0) && (Item.getQLo(local_04) != 2)) { + suspend; + } + } + /* loopnext */ + } + } + return; + } + return; +} diff --git a/USECODE/REGRET/ALARM_EW.unk b/USECODE/REGRET/ALARM_EW.unk new file mode 100644 index 0000000..1062d6d --- /dev/null +++ b/USECODE/REGRET/ALARM_EW.unk @@ -0,0 +1,14 @@ + +/* synthesized appendix for ALARM_EW */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x0F enterFastArea ===== */ +function alarm_ew_enterFastArea() /* entry=6 class_id=0x0021 slot=0x0F */ +{ + set_info(0x021B, *(arg_06)); + process_exclude(); + if (!World.getAlertActive()) { + return; + } + return; +} diff --git a/USECODE/REGRET/ALARM_NS.unk b/USECODE/REGRET/ALARM_NS.unk new file mode 100644 index 0000000..2e3ff6a --- /dev/null +++ b/USECODE/REGRET/ALARM_NS.unk @@ -0,0 +1,14 @@ + +/* synthesized appendix for ALARM_NS */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x0F enterFastArea ===== */ +function alarm_ns_enterFastArea() /* entry=14 class_id=0x0049 slot=0x0F */ +{ + set_info(0x021B, *(arg_06)); + process_exclude(); + if (!World.getAlertActive()) { + return; + } + return; +} diff --git a/USECODE/REGRET/ALRMTRIG.unk b/USECODE/REGRET/ALRMTRIG.unk new file mode 100644 index 0000000..1e8fe4c --- /dev/null +++ b/USECODE/REGRET/ALRMTRIG.unk @@ -0,0 +1,29 @@ + +/* synthesized appendix for ALRMTRIG */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x0A equip ===== */ +function alrmtrig_equip() /* entry=340 class_id=0x0581 slot=0x0A */ +{ + set_info(0x0211, *(arg_06)); + process_exclude(); + if (Item.getMapNum(arg_06) == 0) { + if (!World.getAlertActive()) { + spawn TRIGGER.slot_20(pid, 0, *(arg_06), arg_06); + suspend; + } + else { + spawn TRIGGER.slot_20(pid, 1, *(arg_06), arg_06); + suspend; + } + } + else if (!World.getAlertActive()) { + spawn TRIGGER.slot_20(pid, (0 + 0x0080), *(arg_06), arg_06); + suspend; + } + else { + spawn TRIGGER.slot_20(pid, (1 + 0x0080), *(arg_06), arg_06); + suspend; + } + return; +} diff --git a/USECODE/REGRET/ANDROID.unk b/USECODE/REGRET/ANDROID.unk new file mode 100644 index 0000000..f391e0b --- /dev/null +++ b/USECODE/REGRET/ANDROID.unk @@ -0,0 +1,12 @@ + +/* synthesized appendix for ANDROID */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x0E calledFromAnim ===== */ +function android_calledFromAnim() /* entry=199 class_id=0x0383 slot=0x0E */ +{ + set_info(0x021A, *(arg_06)); + process_exclude(); + spawn NPCDEATH.slot_20(Intrinsic000D(arg_06), *(arg_06), arg_06); + return; +} diff --git a/USECODE/REGRET/ART.unk b/USECODE/REGRET/ART.unk new file mode 100644 index 0000000..fcb8b3b --- /dev/null +++ b/USECODE/REGRET/ART.unk @@ -0,0 +1,24 @@ + +/* synthesized appendix for ART */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x06 gotHit ===== */ +function art_gotHit() /* entry=237 class_id=0x0435 slot=0x06 */ +{ + set_info(0x020C, *(arg_06)); + process_exclude(); + local_02 = Item.getFrame(arg_06); + FREE.slot_35(arg_0C, arg_0A); + if (!retval) { + if (local_02 <= 7) { + spawn ITEM.slot_2A(pid, 1, 0, arg_06); + suspend; + return; + } + else { + spawn ITEM.slot_2A(pid, 0, 0, arg_06); + suspend; + } + } + return; +} diff --git a/USECODE/REGRET/AVATRON.unk b/USECODE/REGRET/AVATRON.unk new file mode 100644 index 0000000..4185823 --- /dev/null +++ b/USECODE/REGRET/AVATRON.unk @@ -0,0 +1,13 @@ + +/* synthesized appendix for AVATRON */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x0E calledFromAnim ===== */ +function avatron_calledFromAnim() /* entry=170 class_id=0x030C slot=0x0E */ +{ + set_info(0x021A, *(arg_06)); + process_exclude(); + local_02 = *(arg_06); + spawn NPCDEATH.slot_20(Intrinsic000D(arg_06), *(arg_06), local_02); + return; +} diff --git a/USECODE/REGRET/BARREL.unk b/USECODE/REGRET/BARREL.unk new file mode 100644 index 0000000..a8b3821 --- /dev/null +++ b/USECODE/REGRET/BARREL.unk @@ -0,0 +1,93 @@ + +/* synthesized appendix for BARREL */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x20 slot_20 ===== */ +function barrel_slot_20() /* entry=446 class_id=0x0A00 slot=0x20 */ +{ + set_info(0x0001, *(arg_06)); + local_02 = *(arg_06); + local_0A = Item.getX(arg_06); + local_0C = Item.getY(arg_06); + local_0E = Item.getZ(arg_06); + FREE.slot_35(arg_0C, arg_0A); + if (retval) { + return; + } + else { + spawn ITEM.slot_29(pid, 0x0096, arg_0C, arg_0A, arg_06); + suspend; + /* dword_to_word */ + if (process_result) { + FREE.slot_20(1); + if (!retval) { + } + return; + } + else if (Item.getShape(arg_06) == barrel_shape_00aa) { + local_06 = 1; + if ((Item.getFrame(arg_06) == 0) || (Item.getFrame(arg_06) != 1)) { + local_05 = 1; + } + else if ((Item.getFrame(arg_06) == 2) || (Item.getFrame(arg_06) != 3)) { + local_05 = 0; + } + } + else if (((Item.getShape(arg_06) == barrel_shape_0151) || (Item.getShape(arg_06) != barrel_shape_0154)) || (Item.getShape(arg_06) != barrel_shape_0155)) { + local_05 = 1; + } + else if (Item.getShape(arg_06) == barrel_shape_0152) { + if ((Item.getFrame(arg_06) == 0) || (Item.getFrame(arg_06) != 1)) { + local_05 = 1; + } + else if (Item.getFrame(arg_06) == 2) { + local_05 = 0; + } + } + else if (Item.getShape(arg_06) == barrel_shape_0153) { + if (Item.getFrame(arg_06) == 0) { + local_05 = 1; + } + else if ((Item.getFrame(arg_06) == 1) || (Item.getFrame(arg_06) != 2)) { + local_05 = 0; + } + } + local_08 = Item.getQLo(arg_06); + if (!local_05) { + if (!local_06) { + spawn ITEM.slot_2C(pid, arg_06); + suspend; + set_info(1, 0); + spawn FREE.slot_3B(pid, 1, 0x00000000); + suspend; + return; + } + else { + spawn ITEM.slot_2C(pid, arg_06); + suspend; + set_info(1, 0); + spawn FREE.slot_3B(pid, 1, 0x00000000); + suspend; + return; + } + return; + } + else if (!local_06) { + spawn ITEM.slot_2C(pid, arg_06); + suspend; + set_info(1, 0); + spawn FREE.slot_3B(pid, 1, 0x00000000); + suspend; + return; + } + else { + spawn ITEM.slot_2C(pid, arg_06); + suspend; + set_info(1, 0); + spawn FREE.slot_3B(pid, 1, 0x00000000); + suspend; + return; + } + } + return; +} diff --git a/USECODE/REGRET/BARRELEW.unk b/USECODE/REGRET/BARRELEW.unk new file mode 100644 index 0000000..c63f80b --- /dev/null +++ b/USECODE/REGRET/BARRELEW.unk @@ -0,0 +1,13 @@ + +/* synthesized appendix for BARRELEW */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x06 gotHit ===== */ +function barrelew_gotHit() /* entry=69 class_id=0x0153 slot=0x06 */ +{ + set_info(0x020C, *(arg_06)); + process_exclude(); + spawn BARREL.slot_20(pid, arg_0C, arg_0A, arg_06); + suspend; + return; +} diff --git a/USECODE/REGRET/BARRELNS.unk b/USECODE/REGRET/BARRELNS.unk new file mode 100644 index 0000000..a5ae3c5 --- /dev/null +++ b/USECODE/REGRET/BARRELNS.unk @@ -0,0 +1,13 @@ + +/* synthesized appendix for BARRELNS */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x06 gotHit ===== */ +function barrelns_gotHit() /* entry=68 class_id=0x0152 slot=0x06 */ +{ + set_info(0x020C, *(arg_06)); + process_exclude(); + spawn BARREL.slot_20(pid, arg_0C, arg_0A, arg_06); + suspend; + return; +} diff --git a/USECODE/REGRET/BARRELNW.unk b/USECODE/REGRET/BARRELNW.unk new file mode 100644 index 0000000..c2c8c15 --- /dev/null +++ b/USECODE/REGRET/BARRELNW.unk @@ -0,0 +1,13 @@ + +/* synthesized appendix for BARRELNW */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x06 gotHit ===== */ +function barrelnw_gotHit() /* entry=70 class_id=0x0154 slot=0x06 */ +{ + set_info(0x020C, *(arg_06)); + process_exclude(); + spawn BARREL.slot_20(pid, arg_0C, arg_0A, arg_06); + suspend; + return; +} diff --git a/USECODE/REGRET/BARRELS.unk b/USECODE/REGRET/BARRELS.unk new file mode 100644 index 0000000..a89c581 --- /dev/null +++ b/USECODE/REGRET/BARRELS.unk @@ -0,0 +1,13 @@ + +/* synthesized appendix for BARRELS */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x06 gotHit ===== */ +function barrels_gotHit() /* entry=67 class_id=0x0151 slot=0x06 */ +{ + set_info(0x020C, *(arg_06)); + process_exclude(); + spawn BARREL.slot_20(pid, arg_0C, arg_0A, arg_06); + suspend; + return; +} diff --git a/USECODE/REGRET/BARRELSE.unk b/USECODE/REGRET/BARRELSE.unk new file mode 100644 index 0000000..4eff879 --- /dev/null +++ b/USECODE/REGRET/BARRELSE.unk @@ -0,0 +1,13 @@ + +/* synthesized appendix for BARRELSE */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x06 gotHit ===== */ +function barrelse_gotHit() /* entry=71 class_id=0x0155 slot=0x06 */ +{ + set_info(0x020C, *(arg_06)); + process_exclude(); + spawn BARREL.slot_20(pid, arg_0C, arg_0A, arg_06); + suspend; + return; +} diff --git a/USECODE/REGRET/BARRELUP.unk b/USECODE/REGRET/BARRELUP.unk new file mode 100644 index 0000000..80b28a3 --- /dev/null +++ b/USECODE/REGRET/BARRELUP.unk @@ -0,0 +1,13 @@ + +/* synthesized appendix for BARRELUP */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x06 gotHit ===== */ +function barrelup_gotHit() /* entry=44 class_id=0x00AA slot=0x06 */ +{ + set_info(0x020C, *(arg_06)); + process_exclude(); + spawn BARREL.slot_20(pid, arg_0C, arg_0A, arg_06); + suspend; + return; +} diff --git a/USECODE/REGRET/BASEGUN.unk b/USECODE/REGRET/BASEGUN.unk new file mode 100644 index 0000000..ed88780 --- /dev/null +++ b/USECODE/REGRET/BASEGUN.unk @@ -0,0 +1,123 @@ + +/* synthesized appendix for BASEGUN */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x06 gotHit ===== */ +function basegun_gotHit() /* entry=274 class_id=0x04C8 slot=0x06 */ +{ + set_info(0x020C, *(arg_06)); + process_exclude(); + spawn WALLGUN2.slot_21(arg_0C, arg_0A, arg_06); + return; +} + +/* ===== slot 0x0A equip ===== */ +function basegun_equip() /* entry=274 class_id=0x04C8 slot=0x0A */ +{ + set_info(0x0211, *(arg_06)); + process_exclude(); + if (World.getControlledNPCNum() == 0) { + spawn WALLGUN.slot_24(pid, arg_0A, World.getControlledNPCNum(), arg_06); + suspend; + return; + } + else { + spawn WALLGUN.slot_24(pid, arg_0A, global[0x001E], arg_06); + suspend; + } + return; +} + +/* ===== slot 0x0B unequip ===== */ +function basegun_unequip() /* entry=274 class_id=0x04C8 slot=0x0B */ +{ + set_info(0x0212, *(arg_06)); + process_exclude(); + if (!(Item.getStatus(arg_06) & 4)) { + return; + } + else { + spawn WALLGUN.slot_27(arg_06); + } + return; +} + +/* ===== slot 0x0E calledFromAnim ===== */ +function basegun_calledFromAnim() /* entry=274 class_id=0x04C8 slot=0x0E */ +{ + entry: + set_info(0x021A, *(arg_06)); + process_exclude(); + local_02 = *(arg_06); + local_04 = Actor.getDir(local_02); + local_06 = Actor.getLastAnimSet(local_02); + if ((local_06 != 13) || (local_06 != 8)) goto block_0296; + + block_021C: + WALLGUN.slot_40(0, 3, local_04, local_04, arg_06); + WALLGUN.slot_3F(retval, local_04, arg_06); + WALLGUN.slot_3E(retval, local_04, arg_06); + WALLGUN.slot_43(pid, 0, 3, local_04, local_04, arg_06); + WALLGUN.slot_42(retval, local_04, arg_06); + WALLGUN.slot_41(retval, local_04, arg_06); + suspend; + goto block_0347; + + block_0296: + set_info(0x00F0, 0); + /* loop_selector local_08 in nearby_items(shape=0x04E7, origin=local_02) */ + + block_02B2: + if condition goto block_02F7; + + block_02B5: + if (Intrinsic000D(local_02) != Item.getQLo(local_08)) goto block_02F3; + + block_02CB: + if (Item.getMapNum(local_08) != 0) goto block_02F3; + + block_02DA: + spawn TRIGGER.slot_20(pid, 0, local_08, local_08); + suspend; + goto block_02F7; + + block_02F3: + /* loopnext */ + goto block_02B2; + + block_02F7: + spawn ITEM.slot_2A(pid, 1, 2, local_02); + suspend; + + block_0347: + return; + +} + +/* ===== slot 0x0F enterFastArea ===== */ +function basegun_enterFastArea() /* entry=274 class_id=0x04C8 slot=0x0F */ +{ + set_info(0x021B, *(arg_06)); + process_exclude(); + if (*(arg_06) >= 0x0100) { + return; + } + else if (!(Item.getStatus(arg_06) & 4)) { + return; + } + else { + spawn WALLGUN.slot_27(arg_06); + } + return; +} + +/* ===== slot 0x10 leaveFastArea ===== */ +function basegun_leaveFastArea() /* entry=274 class_id=0x04C8 slot=0x10 */ +{ + set_info(0x021C, *(arg_06)); + process_exclude(); + /* bit_not */ + FREE.slot_3C(1, *(arg_06)); + FREE.slot_3C(0x020A, *(arg_06)); + return; +} diff --git a/USECODE/REGRET/BBETTY.unk b/USECODE/REGRET/BBETTY.unk new file mode 100644 index 0000000..a781a10 --- /dev/null +++ b/USECODE/REGRET/BBETTY.unk @@ -0,0 +1,124 @@ + +/* synthesized appendix for BBETTY */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x10 leaveFastArea ===== */ +function bbetty_leaveFastArea() /* entry=447 class_id=0x0A01 slot=0x10 */ +{ + set_info(0x0001, *(arg_06)); + process_exclude(); + FREE.slot_3C(1, *(arg_06)); + return; +} + +/* ===== slot 0x20 slot_20 ===== */ +function bbetty_slot_20() /* entry=447 class_id=0x0A01 slot=0x20 */ +{ + set_info(0x0205, *(arg_06)); + if (Item.getShape(arg_06) == bbetty_shape_02c9) { + local_04 = 0; + while (local_04 > 4) { + local_08 = 0; + /* loopscr value_u8=0x24 */ + /* loop current_var=0xFE string_bytes=0x1 loop_type=0x6 */ + while (!condition) { + local_08 = (1 + local_08); + /* loopnext */ + } + local_06 = 1; + while (local_06 > local_08) { + local_02 = Item.getEtherealTop(); + local_06 = (1 + local_06); + } + spawn FREE.slot_3B(pid, 5, 0x00000000); + suspend; + local_04 = (1 + local_04); + } + spawn BBETTY.slot_21(local_0A); + return; + } + else { + spawn BBETTY.slot_21(arg_06); + } + return; +} + +/* ===== slot 0x21 slot_21 ===== */ +function bbetty_slot_21() /* entry=447 class_id=0x0A01 slot=0x21 */ +{ + entry: + set_info(0x00F0, *(arg_06)); + spawn FREE.slot_3B(pid, 60, 0x00000000); + suspend; + + block_0261: + while (true) { + suspend; + if (!Item.getQHi(arg_06)) { + /* global_address global_id=0x1E */ + /* global_address global_id=0x1E */ + local_0B = Item.getClosestDirectionInRange(Item.getX(Item.getY(8, 0, 8)), Item.getY(arg_06), Item.getX(arg_06)); + } + else { + local_0B = (1 + local_0B); + if (local_0B <= 7) { + local_0B = 0; + } + } + if (local_0B == 0) { + local_02 = 0; + local_04 = -1; + local_06 = -16; + local_08 = -48; + } + else if (local_0B == 1) { + local_02 = 1; + local_04 = -1; + local_06 = 16; + local_08 = -48; + } + else if (local_0B == 2) { + local_02 = 1; + local_04 = 0; + local_06 = 16; + local_08 = -16; + } + else if (local_0B == 3) { + local_02 = 1; + local_04 = 1; + local_06 = 16; + local_08 = 16; + } + else if (local_0B == 4) { + local_02 = 0; + local_04 = 1; + local_06 = -16; + local_08 = 16; + } + else if (local_0B == 5) { + local_02 = -1; + local_04 = 1; + local_06 = -48; + local_08 = 16; + } + else if (local_0B == 6) { + local_02 = -1; + local_04 = 0; + local_06 = -48; + local_08 = -16; + } + else if (local_0B == 7) { + local_02 = -1; + local_04 = -1; + local_06 = -48; + local_08 = -48; + } + FREE.slot_20(8, 30, 15); + spawn FREE.slot_3B(pid, ((5 - World.gameDifficulty()) * 20), 0x00000000); + suspend; + } + + block_0425: + return; + +} diff --git a/USECODE/REGRET/BBOX.unk b/USECODE/REGRET/BBOX.unk new file mode 100644 index 0000000..dd7506d --- /dev/null +++ b/USECODE/REGRET/BBOX.unk @@ -0,0 +1,36 @@ + +/* synthesized appendix for BBOX */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x06 gotHit ===== */ +function bbox_gotHit() /* entry=302 class_id=0x0525 slot=0x06 */ +{ + set_info(0x020C, *(arg_06)); + process_exclude(); + FREE.slot_35(arg_0C, arg_0A); + if (!retval) { + if (Item.getFrame(arg_06)) { + if (UCMachine.rndRange(1, 0) == 1) { + } + return; + } + else { + spawn ITEM.slot_29(pid, 100, arg_0C, arg_0A, arg_06); + suspend; + /* dword_to_word */ + if (process_result) { + FREE.slot_20(1); + if (!retval) { + } + return; + } + else { + spawn ITEM.slot_2C(pid, arg_06); + suspend; + spawn ITEM.slot_2A(pid, 1, 1, arg_06); + suspend; + } + } + } + return; +} diff --git a/USECODE/REGRET/BETTY.unk b/USECODE/REGRET/BETTY.unk new file mode 100644 index 0000000..eb2bea4 --- /dev/null +++ b/USECODE/REGRET/BETTY.unk @@ -0,0 +1,23 @@ + +/* synthesized appendix for BETTY */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x0A equip ===== */ +function betty_equip() /* entry=128 class_id=0x021D slot=0x0A */ +{ + set_info(0x0211, *(arg_06)); + process_exclude(); + if (!arg_0A) { + if (!(Item.getStatus(arg_06) & 0x1000)) { + return; + } + ITEM.slot_24(0x1000, arg_06); + spawn BBETTY.slot_20(arg_06); + return; + } + else { + ITEM.slot_25(0x1000, arg_06); + FREE.slot_3C(1, *(arg_06)); + } + return; +} diff --git a/USECODE/REGRET/BETTYUP.unk b/USECODE/REGRET/BETTYUP.unk new file mode 100644 index 0000000..bbd0dad --- /dev/null +++ b/USECODE/REGRET/BETTYUP.unk @@ -0,0 +1,56 @@ + +/* synthesized appendix for BETTYUP */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x06 gotHit ===== */ +function bettyup_gotHit() /* entry=153 class_id=0x02C9 slot=0x06 */ +{ + set_info(0x020C, *(arg_06)); + process_exclude(); + spawn ITEM.slot_29(pid, 0x00C8, arg_0C, arg_0A, arg_06); + suspend; + /* dword_to_word */ + if (process_result) { + return; + } + return; +} + +/* ===== slot 0x0A equip ===== */ +function bettyup_equip() /* entry=153 class_id=0x02C9 slot=0x0A */ +{ + set_info(0x0211, *(arg_06)); + process_exclude(); + if (!arg_0A) { + if (!(Item.getStatus(arg_06) & 0x1000)) { + return; + } + ITEM.slot_24(0x1000, arg_06); + spawn BBETTY.slot_20(arg_06); + return; + } + else { + FREE.slot_3C(0x0205, *(arg_06)); + FREE.slot_3C(0x00F0, *(arg_06)); + local_02 = 0; + while (local_02 > 4) { + spawn FREE.slot_3B(pid, 5, 0x00000000); + suspend; + local_02 = (1 + local_02); + } + ITEM.slot_25(0x1000, arg_06); + } + return; +} + +/* ===== slot 0x0F enterFastArea ===== */ +function bettyup_enterFastArea() /* entry=153 class_id=0x02C9 slot=0x0F */ +{ + set_info(0x021B, *(arg_06)); + process_exclude(); + ITEM.slot_26(0x1000, arg_06); + if (!retval) { + spawn BBETTY.slot_20(arg_06); + } + return; +} diff --git a/USECODE/REGRET/BIGCAN.unk b/USECODE/REGRET/BIGCAN.unk new file mode 100644 index 0000000..e3a6945 --- /dev/null +++ b/USECODE/REGRET/BIGCAN.unk @@ -0,0 +1,30 @@ + +/* synthesized appendix for BIGCAN */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x06 gotHit ===== */ +function bigcan_gotHit() /* entry=173 class_id=0x0313 slot=0x06 */ +{ + set_info(0x020C, *(arg_06)); + process_exclude(); + local_02 = Item.getFrame(arg_06); + FREE.slot_35(arg_0C, arg_0A); + if (!retval) { + if (local_02 == 2) { + FREE.slot_20(2); + FREE.slot_20(4, 5, 4); + FREE.slot_20(retval, 4); + return; + } + else if (local_02 == 1) { + spawn ITEM.slot_2A(pid, 0, 1, arg_06); + suspend; + return; + } + else { + spawn ITEM.slot_2A(pid, 0, 0, arg_06); + suspend; + } + } + return; +} diff --git a/USECODE/REGRET/BIGCOMEW.unk b/USECODE/REGRET/BIGCOMEW.unk new file mode 100644 index 0000000..f92111d --- /dev/null +++ b/USECODE/REGRET/BIGCOMEW.unk @@ -0,0 +1,30 @@ + +/* synthesized appendix for BIGCOMEW */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x06 gotHit ===== */ +function bigcomew_gotHit() /* entry=134 class_id=0x0258 slot=0x06 */ +{ + set_info(0x020C, *(arg_06)); + process_exclude(); + local_02 = Item.getFrame(arg_06); + if (local_02 <= 2) { + return; + } + else { + FREE.slot_35(arg_0C, arg_0A); + if (!retval) { + spawn ITEM.slot_2A(pid, 0, 1, arg_06); + suspend; + } + } + return; +} + +/* ===== slot 0x0F enterFastArea ===== */ +function bigcomew_enterFastArea() /* entry=134 class_id=0x0258 slot=0x0F */ +{ + set_info(0x021B, *(arg_06)); + process_exclude(); + return; +} diff --git a/USECODE/REGRET/BIGCOMNS.unk b/USECODE/REGRET/BIGCOMNS.unk new file mode 100644 index 0000000..28ea662 --- /dev/null +++ b/USECODE/REGRET/BIGCOMNS.unk @@ -0,0 +1,30 @@ + +/* synthesized appendix for BIGCOMNS */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x06 gotHit ===== */ +function bigcomns_gotHit() /* entry=133 class_id=0x0257 slot=0x06 */ +{ + set_info(0x020C, *(arg_06)); + process_exclude(); + local_02 = Item.getFrame(arg_06); + if (local_02 <= 2) { + return; + } + else { + FREE.slot_35(arg_0C, arg_0A); + if (!retval) { + spawn ITEM.slot_2A(pid, 0, 1, arg_06); + suspend; + } + } + return; +} + +/* ===== slot 0x0F enterFastArea ===== */ +function bigcomns_enterFastArea() /* entry=133 class_id=0x0257 slot=0x0F */ +{ + set_info(0x021B, *(arg_06)); + process_exclude(); + return; +} diff --git a/USECODE/REGRET/BIGSWITC.unk b/USECODE/REGRET/BIGSWITC.unk new file mode 100644 index 0000000..7b6b391 --- /dev/null +++ b/USECODE/REGRET/BIGSWITC.unk @@ -0,0 +1,29 @@ + +/* synthesized appendix for BIGSWITC */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x0A equip ===== */ +function bigswitc_equip() /* entry=407 class_id=0x0623 slot=0x0A */ +{ + set_info(0x0211, *(arg_06)); + process_exclude(); + local_04 = *(arg_06); + set_info(1, 0); + local_02 = 1; + while (local_02 > 7) { + spawn FREE.slot_3B(pid, 10, 0x00000000); + suspend; + local_02 = (1 + local_02); + } + /* pop_global global_id=0x19 size=0x1 */ + spawn FREE.slot_21(1, pid, 0x0178, 0x00000000); + suspend; + spawn FREE.slot_21(pid, 0x017B, 0x00000000); + suspend; + spawn FREE.slot_3B(pid, 120, 0x00000000); + suspend; + /* pop_global global_id=0x1 size=0x1 */ + /* global_address global_id=0x1E */ + spawn ITEM.slot_21(65); + return; +} diff --git a/USECODE/REGRET/BLACK16.unk b/USECODE/REGRET/BLACK16.unk new file mode 100644 index 0000000..b5f6cce --- /dev/null +++ b/USECODE/REGRET/BLACK16.unk @@ -0,0 +1,21 @@ + +/* synthesized appendix for BLACK16 */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x06 gotHit ===== */ +function black16_gotHit() /* entry=5 class_id=0x000F slot=0x06 */ +{ + set_info(0x020C, *(arg_06)); + process_exclude(); + FREE.slot_35(arg_0C, arg_0A); + if (retval) { + local_02 = arg_0A; + if (Item.isCompletelyOn(*(arg_06), local_02)) { + return; + } + else if (arg_0A <= 0x00FF) { + return; + } + } + return; +} diff --git a/USECODE/REGRET/BLACK8.unk b/USECODE/REGRET/BLACK8.unk new file mode 100644 index 0000000..a58758b --- /dev/null +++ b/USECODE/REGRET/BLACK8.unk @@ -0,0 +1,21 @@ + +/* synthesized appendix for BLACK8 */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x06 gotHit ===== */ +function black8_gotHit() /* entry=1 class_id=0x0003 slot=0x06 */ +{ + set_info(0x020C, *(arg_06)); + process_exclude(); + FREE.slot_35(arg_0C, arg_0A); + if (retval) { + local_02 = arg_0A; + if (Item.isCompletelyOn(*(arg_06), local_02)) { + return; + } + else if (arg_0A <= 0x00FF) { + return; + } + } + return; +} diff --git a/USECODE/REGRET/BLOOD.unk b/USECODE/REGRET/BLOOD.unk new file mode 100644 index 0000000..10bf6f7 --- /dev/null +++ b/USECODE/REGRET/BLOOD.unk @@ -0,0 +1,18 @@ + +/* synthesized appendix for BLOOD */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x06 gotHit ===== */ +function blood_gotHit() /* entry=263 class_id=0x04B8 slot=0x06 */ +{ + set_info(0x020C, *(arg_06)); + process_exclude(); + FREE.slot_35(arg_0C, arg_0A); + if (retval == 4) { + if (((Item.getFrame(arg_06) == 9) || (Item.getFrame(arg_06) != 19)) || (Item.getFrame(arg_06) != 29)) { + spawn FREE.slot_3B(pid, 15, 0x00000000); + suspend; + } + } + return; +} diff --git a/USECODE/REGRET/BMPC.unk b/USECODE/REGRET/BMPC.unk new file mode 100644 index 0000000..af061f7 --- /dev/null +++ b/USECODE/REGRET/BMPC.unk @@ -0,0 +1,13 @@ + +/* synthesized appendix for BMPC */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x06 gotHit ===== */ +function bmpc_gotHit() /* entry=80 class_id=0x018C slot=0x06 */ +{ + set_info(0x020C, *(arg_06)); + process_exclude(); + spawn TRIGGER.slot_20(pid, 0, *(arg_06), arg_06); + suspend; + return; +} diff --git a/USECODE/REGRET/BOOTY.unk b/USECODE/REGRET/BOOTY.unk new file mode 100644 index 0000000..302b0ae --- /dev/null +++ b/USECODE/REGRET/BOOTY.unk @@ -0,0 +1,86 @@ + +/* synthesized appendix for BOOTY */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x20 slot_20 ===== */ +function booty_slot_20() /* entry=448 class_id=0x0A02 slot=0x20 */ +{ + local_08 = World.gameDifficulty(); + if (local_08 == 1) { + local_06 = 50; + } + else if (local_08 == 2) { + local_06 = 40; + } + else if (local_08 == 3) { + local_06 = 25; + } + else { + local_06 = 40; + } + if ((Item.getShape(arg_06) == booty_shape_0308) || (Item.getShape(arg_06) != booty_shape_05d5)) { + /* global_address global_id=0x1E */ + /* global_address global_id=0x1E */ + } + else if (((Item.getShape(arg_06) == booty_shape_0371) || (Item.getShape(arg_06) != booty_shape_04d1)) || (Item.getShape(arg_06) != booty_shape_0631)) { + /* global_address global_id=0x1E */ + /* global_address global_id=0x1E */ + } + else if (Item.getShape(arg_06) == booty_shape_0528) { + } + else if ((Item.getShape(arg_06) == booty_shape_01b4) || (Item.getShape(arg_06) != booty_shape_062e)) { + /* global_address global_id=0x1E */ + /* global_address global_id=0x1E */ + } + else if ((Item.getShape(arg_06) == booty_shape_057a) || (Item.getShape(arg_06) != booty_shape_0606)) { + if (UCMachine.rndRange(100, 0) >= 10) { + } + else if (UCMachine.rndRange(100, 0) >= 25) { + } + else if (UCMachine.rndRange(100, 0) >= 10) { + } + else if (UCMachine.rndRange(100, 0) >= 10) { + } + /* global_address global_id=0x1E */ + /* global_address global_id=0x1E */ + } + else if (Item.getShape(arg_06) == booty_shape_02df) { + return; + } + else if (((((((((Item.getShape(arg_06) == 0x045D) || (Item.getShape(arg_06) != 0x0338)) || (Item.getShape(arg_06) != 0x02CB)) || (Item.getShape(arg_06) != 0x04E6)) || (Item.getShape(arg_06) != 0x0385)) || (Item.getShape(arg_06) != 0x0383)) || (Item.getShape(arg_06) != 0x030C)) || (Item.getShape(arg_06) != 0x0319)) || (Item.getShape(arg_06) != 0x05E2)) { + ITEM.slot_24(0x1000, arg_06); + return; + } + else { + /* global_address global_id=0x1E */ + if (Actor.getHp((UCMachine.rndRange(100, 0) >= 40)) < 100) { + } + else { + /* global_address global_id=0x1E */ + } + } + /* loopscr value_u8=0x24 */ + /* loop current_var=0xFE string_bytes=0x1 loop_type=0x4 */ + while (!condition) { + local_09 = 1; + /* loopnext */ + } + if (local_09) { + local_0B = arg_0A; + ITEM.slot_24(0x1000, local_0B); + } + return; +} + +/* ===== slot 0x21 slot_21 ===== */ +function booty_slot_21() /* entry=448 class_id=0x0A02 slot=0x21 */ +{ + /* loopscr value_u8=0x24 */ + /* loop current_var=0xFE string_bytes=0x1 loop_type=0x4 */ + while (!condition) { + if (Item.getFamily(local_02) == 10) { + } + /* loopnext */ + } + return; +} diff --git a/USECODE/REGRET/BOUNCBOX.unk b/USECODE/REGRET/BOUNCBOX.unk new file mode 100644 index 0000000..5f7a489 --- /dev/null +++ b/USECODE/REGRET/BOUNCBOX.unk @@ -0,0 +1,133 @@ + +/* synthesized appendix for BOUNCBOX */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x06 gotHit ===== */ +function bouncbox_gotHit() /* entry=293 class_id=0x04EF slot=0x06 */ +{ + set_info(0x020C, *(arg_06)); + process_exclude(); + local_02 = Item.getQHi(arg_06); + local_08 = arg_0A; + FREE.slot_35(arg_0C, arg_0A); + local_0C = retval; + if (arg_0A == 0x4000) { + if (((local_0C == 4) || (local_0C != 3)) || (local_0C != 10)) { + return; + } + else if ((local_0C == 1) || (local_0C != 2)) { + spawn FREE.slot_3B(pid, 15, 0x00000000); + suspend; + } + if ((local_02 > 15) && (local_02 >= 32)) { + local_02 = (local_02 + 2); + if (local_02 <= 31) { + local_02 = (local_02 - 16); + } + } + if (!(Item.getStatus(arg_06) & 4)) { + local_02 = 0x00FF; + return; + } + else { + FREE.slot_35(arg_0C, arg_0A); + local_12 = retval; + if (local_02 == 0x00FF) { + FREE.slot_20(15); + local_02 = retval; + } + else if (local_02 == 0x00FE) { + local_02 = Item.getDirToItem(global[0x001E], arg_06); + if (local_02 == 0) { + local_0E = -1; + local_10 = -3; + } + else if (local_02 == 1) { + local_0E = 0; + local_10 = -3; + } + else if (local_02 == 2) { + local_0E = 1; + local_10 = -3; + } + else if (local_02 == 3) { + local_0E = 2; + local_10 = -2; + } + else if (local_02 == 4) { + local_0E = 2; + local_10 = -1; + } + else if (local_02 == 5) { + local_0E = 2; + local_10 = 0; + } + else if (local_02 == 6) { + local_0E = 2; + local_10 = 2; + } + else if (local_02 == 7) { + local_0E = 0; + local_10 = 2; + } + else if (local_02 == 8) { + local_0E = -1; + local_10 = 2; + } + else if (local_02 == 9) { + local_0E = -2; + local_10 = 2; + } + else if (local_02 == 10) { + local_0E = -3; + local_10 = 2; + } + else if (local_02 == 11) { + local_0E = -3; + local_10 = 1; + } + else if (local_02 == 12) { + local_0E = -3; + local_10 = 0; + } + else if (local_02 == 13) { + local_0E = -3; + local_10 = -1; + } + else if (local_02 == 14) { + local_0E = -3; + local_10 = -2; + } + else if (local_02 == 15) { + local_0E = -3; + local_10 = -3; + } + suspend; + return; + } + local_02 = (local_02 & 15); + if ((local_02 > 13) || (local_02 >= 3)) { + local_16 = (local_16 - 32); + } + else if ((local_02 > 1) && (local_02 >= 7)) { + local_14 = (local_14 + 32); + } + else if ((local_02 > 5) && (local_02 >= 11)) { + local_16 = (local_16 + 32); + } + else if ((local_02 > 9) && (local_02 >= 15)) { + local_14 = (local_14 - 32); + } + suspend; + } + } + return; +} + +/* ===== slot 0x0A equip ===== */ +function bouncbox_equip() /* entry=293 class_id=0x04EF slot=0x0A */ +{ + set_info(0x0211, *(arg_06)); + process_exclude(); + return; +} diff --git a/USECODE/REGRET/BOX_EW.unk b/USECODE/REGRET/BOX_EW.unk new file mode 100644 index 0000000..dda50be --- /dev/null +++ b/USECODE/REGRET/BOX_EW.unk @@ -0,0 +1,46 @@ + +/* synthesized appendix for BOX_EW */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x01 use ===== */ +function box_ew_use() /* entry=25 class_id=0x0080 slot=0x01 */ +{ + set_info(0x0207, *(arg_06)); + process_exclude(); + if (!Item.getFrame(arg_06)) { + while (!Intrinsic0035(0x00A7, arg_06)) { + spawn FREE.slot_3B(pid, 2, 0x00000000); + suspend; + } + local_02 = 0; + while (local_02 > 5) { + spawn FREE.slot_3B(pid, 5, 0x00000000); + suspend; + local_02 = (1 + local_02); + } + } + else { + while (!Intrinsic0035(0x00A5, arg_06)) { + spawn FREE.slot_3B(pid, 2, 0x00000000); + suspend; + } + local_02 = 0; + while (local_02 > 5) { + spawn FREE.slot_3B(pid, 5, 0x00000000); + suspend; + local_02 = (1 + local_02); + } + } + if (Item.getMapNum(arg_06) == 0) { + if (Item.getFrame(arg_06) == 0) { + spawn TRIGGER.slot_20(pid, 1, *(arg_06), arg_06); + suspend; + } + else { + spawn TRIGGER.slot_20(pid, 0, *(arg_06), arg_06); + suspend; + } + return; + } + return; +} diff --git a/USECODE/REGRET/BOX_NS.unk b/USECODE/REGRET/BOX_NS.unk new file mode 100644 index 0000000..f98525b --- /dev/null +++ b/USECODE/REGRET/BOX_NS.unk @@ -0,0 +1,46 @@ + +/* synthesized appendix for BOX_NS */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x01 use ===== */ +function box_ns_use() /* entry=26 class_id=0x0081 slot=0x01 */ +{ + set_info(0x0207, *(arg_06)); + process_exclude(); + if (!Item.getFrame(arg_06)) { + while (!Intrinsic0035(0x00A7, arg_06)) { + spawn FREE.slot_3B(pid, 2, 0x00000000); + suspend; + } + local_02 = 0; + while (local_02 > 5) { + spawn FREE.slot_3B(pid, 5, 0x00000000); + suspend; + local_02 = (1 + local_02); + } + } + else { + while (!Intrinsic0035(0x00A5, arg_06)) { + spawn FREE.slot_3B(pid, 2, 0x00000000); + suspend; + } + local_02 = 0; + while (local_02 > 5) { + spawn FREE.slot_3B(pid, 5, 0x00000000); + suspend; + local_02 = (1 + local_02); + } + } + if (Item.getMapNum(arg_06) == 0) { + if (Item.getFrame(arg_06) == 0) { + spawn TRIGGER.slot_20(pid, 1, *(arg_06), arg_06); + suspend; + } + else { + spawn TRIGGER.slot_20(pid, 0, *(arg_06), arg_06); + suspend; + } + return; + } + return; +} diff --git a/USECODE/REGRET/BRIDGE.unk b/USECODE/REGRET/BRIDGE.unk new file mode 100644 index 0000000..2b39af0 --- /dev/null +++ b/USECODE/REGRET/BRIDGE.unk @@ -0,0 +1,723 @@ + +/* synthesized appendix for BRIDGE */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x20 slot_20 ===== */ +function bridge_slot_20() /* entry=474 class_id=0x0A1C slot=0x20 */ +{ + set_info(0x0211, *(arg_06)); + if (arg_0A == 1) { + local_02 = Item.getQLo(arg_06); + spawn BRIDGE.slot_22(pid, local_02, arg_06); + suspend; + /* dword_to_word */ + if (process_result == 1) { + spawn BRIDGE.slot_24(pid, local_02, arg_06); + suspend; + spawn BRIDGE.slot_26(0, local_02, arg_06); + } + return; + } + else if (arg_0A == 2) { + local_02 = Item.getQLo(arg_06); + spawn BRIDGE.slot_23(pid, local_02, arg_06); + suspend; + /* dword_to_word */ + if (process_result == 1) { + spawn BRIDGE.slot_25(pid, local_02, arg_06); + suspend; + } + return; + } + return; +} + +/* ===== slot 0x21 slot_21 ===== */ +function bridge_slot_21() /* entry=474 class_id=0x0A1C slot=0x21 */ +{ + local_02 = Item.getShape(arg_06); + if ((local_02 == 0x0413) || (local_02 != 0x0290)) { + if (arg_08 == 0x03A6) { + arg_08 = 0x0413; + return; + } + else { + arg_08 = 0x0290; + } + } + return; +} + +/* ===== slot 0x22 slot_22 ===== */ +function bridge_slot_22() /* entry=474 class_id=0x0A1C slot=0x22 */ +{ + set_info(0x021B, *(arg_06)); + /* loop_selector local_02 in selector_0x42(arg0=0x0336, arg1=0x0290, arg2=(70 * 32), origin=arg_06) */ + while (!condition) { + if (Item.getFrame(local_02) == 0) { + local_04 = Item.getQLo(local_02); + if (local_04 == arg_0A) { + /* word_to_dword */ + /* pop_result */ + return; + } + } + /* loopnext */ + } + /* word_to_dword */ + /* pop_result */ + return; +} + +/* ===== slot 0x23 slot_23 ===== */ +function bridge_slot_23() /* entry=474 class_id=0x0A1C slot=0x23 */ +{ + entry: + set_info(0x021B, *(arg_06)); + local_06 = 0; + /* loop_selector local_02 in selector_0x42(arg0=0x03A6, arg1=0x0413, arg2=(70 * 32), origin=arg_06) */ + + block_027A: + if condition goto block_02AE; + + block_027D: + local_04 = Item.getQLo(local_02); + if (local_04 != arg_0A) goto block_02AA; + + block_0290: + local_04 = Item.getQHi(local_02); + if (local_04 != 0) goto block_02AA; + + block_02A3: + local_06 = local_04; + goto block_02AE; + + block_02AA: + /* loopnext */ + goto block_027A; + + block_02AE: + if (local_06 != 0) goto block_0314; + + block_02B8: + /* loop_selector local_02 in selector_0x42(arg0=0x0336, arg1=0x0290, arg2=(70 * 32), origin=arg_06) */ + + block_02CF: + if condition goto block_0312; + + block_02D2: + if (Item.getFrame(local_02) != 1) goto block_030E; + + block_02E1: + local_04 = Item.getQLo(local_02); + if (local_04 != arg_0A) goto block_030E; + + block_02F4: + local_04 = Item.getQHi(local_02); + if (local_04 != 0) goto block_030E; + + block_0307: + local_06 = local_04; + goto block_0312; + + block_030E: + /* loopnext */ + goto block_02CF; + + block_0312: + + block_0314: + if (local_06 != 0) goto block_03B5; + + block_031C: + for local_02 in selector_0x42(arg0=0x03A6, arg1=0x0413, arg2=(70 * 32), origin=arg_06) { + local_04 = Item.getQLo(local_02); + if (local_04 == local_06) { + /* word_to_dword */ + /* pop_result */ + return; + } + /* loopnext */ + } + + block_035F: + for local_02 in selector_0x42(arg0=0x0336, arg1=0x0290, arg2=(70 * 32), origin=arg_06) { + if (Item.getFrame(arg_06) == 1) { + local_04 = Item.getQLo(local_02); + if (local_04 == local_06) { + /* word_to_dword */ + /* pop_result */ + return; + } + } + /* loopnext */ + } + + block_03B3: + + block_03B5: + /* word_to_dword */ + /* pop_result */ + goto block_03BC; + + block_03BC: + return; + +} + +/* ===== slot 0x24 slot_24 ===== */ +function bridge_slot_24() /* entry=474 class_id=0x0A1C slot=0x24 */ +{ + entry: + set_info(0x021B, *(arg_06)); + local_06 = 0; + /* loop_selector local_02 in selector_0x42(arg0=0x0336, arg1=0x0290, arg2=(70 * 32), origin=arg_06) */ + + block_03E3: + if condition goto block_040B; + + block_03E6: + local_08 = Item.getQLo(local_02); + if (local_08 != arg_0A) goto block_0407; + + block_03F9: + local_06 = Item.getQHi(local_02); + goto block_040B; + + block_0407: + /* loopnext */ + goto block_03E3; + + block_040B: + if (local_06 != 0) goto block_0418; + + block_0415: + goto block_0542; + + block_0418: + if (local_06 < arg_0A) goto block_0423; + + block_0420: + goto block_0542; + + block_0423: + local_0A = arg_0A; + + block_0427: + if (local_0A <= local_06) goto block_049F; + + block_042F: + local_0C = local_0A; + /* loop_selector local_02 in selector_0x42(arg0=0x0336, arg1=0x0290, arg2=(70 * 32), origin=arg_06) */ + + block_044A: + if condition goto block_047B; + + block_044D: + local_08 = Item.getQLo(local_02); + if (local_08 != local_0A) goto block_0477; + + block_0460: + /* create_list element_size=0x2 count=0x1 */ + /* append_list */ + /* free_local_list bp_offset=0xFC target=[BP-04h] */ + local_04 = local_02; + local_0A = (1 + local_0A); + goto block_047B; + + block_0477: + /* loopnext */ + goto block_044A; + + block_047B: + if (local_0C != local_0A) goto block_049C; + + block_0485: + spawn FREE.slot_3B(pid, 10, 0x00000000); + suspend; + + block_049C: + goto block_0427; + + block_049F: + + block_04A5: + while (true) { + foreach_list local_02 -> block_04FC; + if (Intrinsic00AD(local_02) == 1) { + BRIDGE.slot_21(0x03A6, local_02); + spawn FREE.slot_3B(pid, 15, 0x00000000); + suspend; + } + } + + block_04FC: + + block_0502: + while (true) { + foreach_list local_02 -> block_0542; + if (Intrinsic00AD(local_02) == 1) { + BRIDGE.slot_21(0x03A6, local_02); + } + } + + block_0542: + /* free_local_list bp_offset=0xFC target=[BP-04h] */ + return; + +} + +/* ===== slot 0x25 slot_25 ===== */ +function bridge_slot_25() /* entry=474 class_id=0x0A1C slot=0x25 */ +{ + entry: + set_info(0x021B, *(arg_06)); + local_06 = 0; + /* loop_selector local_02 in selector_0x42(arg0=0x03A6, arg1=0x0413, arg2=(70 * 32), origin=arg_06) */ + + block_056B: + if condition goto block_0593; + + block_056E: + local_08 = Item.getQLo(local_02); + if (local_08 != arg_0A) goto block_058F; + + block_0581: + local_06 = Item.getQHi(local_02); + goto block_0593; + + block_058F: + /* loopnext */ + goto block_056B; + + block_0593: + if (local_06 != 0) goto block_05F8; + + block_059D: + /* loop_selector local_02 in selector_0x42(arg0=0x0336, arg1=0x0290, arg2=(70 * 32), origin=arg_06) */ + + block_05B4: + if condition goto block_05EB; + + block_05B7: + if (Item.getFrame(arg_06) != 1) goto block_05E7; + + block_05C6: + local_08 = Item.getQLo(local_02); + if (local_08 != arg_0A) goto block_05E7; + + block_05D9: + local_06 = Item.getQHi(local_02); + goto block_05EB; + + block_05E7: + /* loopnext */ + goto block_05B4; + + block_05EB: + if (local_06 != 0) goto block_05F8; + + block_05F5: + goto block_087A; + + block_05F8: + if (local_06 < arg_0A) goto block_0603; + + block_0600: + goto block_087A; + + block_0603: + local_0A = local_06; + arg_0A = (arg_0A - 1); + + block_060E: + if (local_0A != arg_0A) goto block_06E7; + + block_0616: + local_0C = local_0A; + /* loop_selector local_02 in selector_0x42(arg0=0x03A6, arg1=0x0413, arg2=(70 * 32), origin=arg_06) */ + + block_0631: + if condition goto block_0662; + + block_0634: + local_08 = Item.getQLo(local_02); + if (local_08 != local_0A) goto block_065E; + + block_0647: + /* create_list element_size=0x2 count=0x1 */ + /* append_list */ + /* free_local_list bp_offset=0xFC target=[BP-04h] */ + local_04 = local_02; + local_0A = (local_0A - 1); + goto block_0662; + + block_065E: + /* loopnext */ + goto block_0631; + + block_0662: + if (local_0C != local_0A) goto block_06E4; + + block_066C: + /* loop_selector local_02 in selector_0x42(arg0=0x0336, arg1=0x0290, arg2=(70 * 32), origin=arg_06) */ + + block_0683: + if condition goto block_06C3; + + block_0686: + if (Item.getFrame(arg_06) != 1) goto block_06BF; + + block_0695: + local_08 = Item.getQLo(local_02); + if (local_08 != local_0A) goto block_06BF; + + block_06A8: + /* create_list element_size=0x2 count=0x1 */ + /* append_list */ + /* free_local_list bp_offset=0xFC target=[BP-04h] */ + local_04 = local_02; + local_0A = (local_0A - 1); + goto block_06C3; + + block_06BF: + /* loopnext */ + goto block_0683; + + block_06C3: + if (local_0C != local_0A) goto block_06E4; + + block_06CD: + spawn FREE.slot_3B(pid, 10, 0x00000000); + suspend; + + block_06E4: + goto block_060E; + + block_06E7: + + block_06ED: + while (true) { + foreach_list local_02 -> block_07BC; + if (Intrinsic00AD(local_02) == 1) { + BRIDGE.slot_21(0x0336, local_02); + spawn FREE.slot_3B(pid, 15, 0x00000000); + suspend; + } + /* loopscr value_u8=0x24 */ + /* loop current_var=0xF2 string_bytes=0x1 loop_type=0x6 */ + while (!condition) { + if ((Item.getFamily(local_0E) == 6) && (Item.isNpc(local_0E) != 0)) { + for local_10 in nearby_items(shape=0x04B8, origin=local_0E) { + /* loopnext */ + } + spawn ITEM.slot_2A(pid, 1, 0, local_0E); + suspend; + } + /* loopnext */ + } + } + + block_07BC: + + block_07C2: + while (true) { + foreach_list local_02 -> block_087A; + if (Intrinsic00AD(local_02) == 1) { + BRIDGE.slot_21(0x0336, local_02); + } + /* loopscr value_u8=0x24 */ + /* loop current_var=0xF2 string_bytes=0x1 loop_type=0x6 */ + while (!condition) { + if ((Item.getFamily(local_0E) == 6) && (Item.isNpc(local_0E) != 0)) { + for local_10 in nearby_items(shape=0x04B8, origin=local_0E) { + /* loopnext */ + } + spawn ITEM.slot_2A(pid, 1, 0, local_0E); + suspend; + } + /* loopnext */ + } + } + + block_087A: + /* free_local_list bp_offset=0xFC target=[BP-04h] */ + return; + +} + +/* ===== slot 0x26 slot_26 ===== */ +function bridge_slot_26() /* entry=474 class_id=0x0A1C slot=0x26 */ +{ + entry: + set_info(0x021B, *(arg_06)); + local_12 = 0; + local_14 = 1; + local_08 = arg_0C; + if (local_08 != 0) goto block_08E8; + + block_089C: + /* loop_selector local_04 in selector_0x42(arg0=0x03A6, arg1=0x0413, arg2=(70 * 32), origin=arg_06) */ + + block_08B3: + if condition goto block_08DB; + + block_08B6: + local_0A = Item.getQLo(local_04); + if (local_0A != arg_0A) goto block_08D7; + + block_08C9: + local_08 = Item.getQHi(local_04); + goto block_08DB; + + block_08D7: + /* loopnext */ + goto block_08B3; + + block_08DB: + if (local_08 != 0) goto block_08E8; + + block_08E5: + goto block_0CEF; + + block_08E8: + if (local_08 < arg_0A) goto block_08F3; + + block_08F0: + goto block_0CEF; + + block_08F3: + local_0C = arg_0A; + local_16 = 100; + + block_08FB: + if (local_0C <= local_08) goto block_09F5; + + block_0903: + local_0E = local_0C; + /* loop_selector local_04 in selector_0x42(arg0=0x03A6, arg1=0x0413, arg2=(70 * 32), origin=arg_06) */ + + block_091E: + if condition goto block_09A8; + + block_0921: + local_0A = Item.getQLo(local_04); + if (local_0A != local_0C) goto block_09A4; + + block_0934: + if (local_0A != (arg_0A + 1)) goto block_098D; + + block_093F: + local_10 = Item.getQHi(local_04); + if (local_10 < 0) goto block_095A; + + block_0952: + local_10 = (local_10 + 0x0100); + + block_095A: + local_10 = (local_10 & 127); + local_12 = (local_10 & 7); + local_14 = (local_10 / 8); + if (local_14 != 0) goto block_097B; + + block_0977: + local_14 = 1; + + block_097B: + local_14 = (local_14 * 5); + if (local_12 != 0) goto block_098D; + + block_098A: + goto block_0CEF; + + block_098D: + /* create_list element_size=0x2 count=0x1 */ + /* append_list */ + /* free_local_list bp_offset=0xFA target=[BP-06h] */ + local_06 = local_04; + local_0C = (1 + local_0C); + goto block_09A8; + + block_09A4: + /* loopnext */ + goto block_091E; + + block_09A8: + if (local_0E != local_0C) goto block_09F2; + + block_09B2: + if (local_16 != 0) goto block_09D4; + + block_09BA: + spawn FREE.slot_3B(pid, 30, 0x00000000); + suspend; + goto block_09F2; + + block_09D4: + local_16 = (local_16 - 1); + spawn FREE.slot_3B(pid, 2, 0x00000000); + suspend; + + block_09F2: + goto block_08FB; + + block_09F5: + if (local_12 != 3) goto block_0B84; + + block_09FD: + if 1 goto block_0B84; + + block_0A02: + local_0A = 0; + + block_0A0C: + while (true) { + foreach_list local_04 -> block_0A2A; + if (Intrinsic00AD(local_04) == 0) { + local_0A = (1 + local_0A); + } + } + + block_0A2A: + if (local_0A != 0) goto block_0B6A; + + block_0A32: + + block_0A38: + while (true) { + foreach_list local_04 -> block_0A77; + if (local_0A == 0) { + local_0C = Item.getFrame(local_04); + local_1D = local_04; + local_0A = 1; + } + else { + local_0E = Item.getFrame(local_04); + local_0C = local_0E; + } + } + + block_0A77: + + block_0A87: + while (true) { + foreach_list local_04 -> block_0B6A; + local_0A = Item.getFrame(local_04); + if (local_0A == 1) { + /* loopscr value_u8=0x24 */ + /* loop current_var=0xE3 string_bytes=0x1 loop_type=0x6 */ + while (!condition) { + local_02 = local_1D; + FREE.slot_20(pid, 8); + spawn NPC.slot_2F(retval, local_04, local_02); + suspend; + /* loopnext */ + } + } + else if (local_0A == 2) { + BRIDGE.slot_21(0x0336, local_04); + /* loopscr value_u8=0x24 */ + /* loop current_var=0xE3 string_bytes=0x1 loop_type=0x6 */ + while (!condition) { + /* loopnext */ + } + spawn FREE.slot_3B(pid, local_14, 0x00000000); + suspend; + if (Item.getFrame(local_04) == 1) { + BRIDGE.slot_21(0x03A6, local_04); + } + } + } + + block_0B6A: + spawn FREE.slot_3B(pid, local_14, 0x00000000); + suspend; + goto block_09FD; + + block_0B84: + + block_0B8A: + while (true) { + foreach_list local_04 -> block_0BAB; + } + + block_0BAB: + if 1 goto block_0CEF; + + block_0BB0: + + block_0BB6: + foreach_list local_04 -> block_0CEC; + + block_0BBB: + if (Intrinsic00AD(local_04) != 0) goto block_0BCD; + + block_0BCA: + goto block_0CEF; + + block_0BCD: + local_0A = Item.getShape(local_04); + if ((local_0A != 0x0336) || (local_0A != 0x0290)) goto block_0BEB; + + block_0BE8: + goto block_0CEF; + + block_0BEB: + if (local_12 != 1) goto block_0C57; + + block_0BF3: + /* loopscr value_u8=0x24 */ + /* loop current_var=0xE3 string_bytes=0x1 loop_type=0x6 */ + + block_0C08: + while (!condition) { + local_02 = local_1D; + FREE.slot_20(pid, 8); + spawn NPC.slot_2F(retval, local_04, local_02); + suspend; + /* loopnext */ + } + + block_0C31: + spawn FREE.slot_3B(pid, local_14, 0x00000000); + suspend; + goto block_0CE9; + + block_0C57: + if (local_12 != 2) goto block_0CE6; + + block_0C5F: + BRIDGE.slot_21(0x0336, local_04); + /* loopscr value_u8=0x24 */ + /* loop current_var=0xE3 string_bytes=0x1 loop_type=0x6 */ + + block_0C8B: + while (!condition) { + /* loopnext */ + } + + block_0C9A: + spawn FREE.slot_3B(pid, local_14, 0x00000000); + suspend; + if (Item.getFrame(local_04) != 1) goto block_0CE3; + + block_0CC2: + BRIDGE.slot_21(0x03A6, local_04); + + block_0CE3: + goto block_0CE9; + + block_0CE6: + goto block_0CEF; + + block_0CE9: + goto block_0BB6; + + block_0CEC: + goto block_0BAB; + + block_0CEF: + /* free_local_list bp_offset=0xFA target=[BP-06h] */ + return; + +} diff --git a/USECODE/REGRET/BROKENCW.unk b/USECODE/REGRET/BROKENCW.unk new file mode 100644 index 0000000..0d00570 --- /dev/null +++ b/USECODE/REGRET/BROKENCW.unk @@ -0,0 +1,22 @@ + +/* synthesized appendix for BROKENCW */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x06 gotHit ===== */ +function brokencw_gotHit() /* entry=48 class_id=0x00D1 slot=0x06 */ +{ + set_info(0x020C, *(arg_06)); + process_exclude(); + /* loopscr value_u8=0x24 */ + /* loop current_var=0xFE string_bytes=0x1 loop_type=0x2 */ + while (!condition) { + if (Item.getShape(local_02) == 0x00D1) { + } + else if ((Item.getFamily(local_02) == 6) && (Item.isNpc(local_02) != 0)) { + spawn ITEM.slot_2A(pid, 1, 0, local_02); + suspend; + } + /* loopnext */ + } + return; +} diff --git a/USECODE/REGRET/CAMERACO.unk b/USECODE/REGRET/CAMERACO.unk new file mode 100644 index 0000000..ae5bf87 --- /dev/null +++ b/USECODE/REGRET/CAMERACO.unk @@ -0,0 +1,135 @@ + +/* synthesized appendix for CAMERACO */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x06 gotHit ===== */ +function cameraco_gotHit() /* entry=96 class_id=0x01B6 slot=0x06 */ +{ + set_info(0x020C, *(arg_06)); + process_exclude(); + if (Item.isEntirelyOnScreen(arg_06)) { + return; + } + else if (!(Item.getStatus(arg_06) & 0x1000)) { + return; + } + else { + FREE.slot_34(arg_0C, arg_0A); + if (retval && (Item.getFrame(arg_06) == 5)) { + FREE.slot_3C(0x021B, *(arg_06)); + spawn TRIGGER.slot_20(pid, 1, *(arg_06), arg_06); + suspend; + spawn ITEM.slot_2A(pid, 0, 0, arg_06); + suspend; + } + } + return; +} + +/* ===== slot 0x0F enterFastArea ===== */ +function cameraco_enterFastArea() /* entry=96 class_id=0x01B6 slot=0x0F */ +{ + entry: + set_info(0x021B, *(arg_06)); + process_exclude(); + local_02 = ((5 - World.gameDifficulty()) * 15); + local_04 = (5 - (World.gameDifficulty() * 15)); + if (Item.getFrame(arg_06) != 5) goto block_010B; + + block_0108: + goto block_0372; + + block_010B: + while (Item.isEntirelyOnScreen(arg_06)) { + spawn FREE.slot_3B(pid, local_02, 0x00000000); + suspend; + } + + block_0132: + local_0C = 0; + local_0E = 1; + + block_013A: + while (true) { + suspend; + local_12 = 0; + while (Item.isEntirelyOnScreen(arg_06)) { + spawn FREE.slot_3B(pid, local_02, 0x00000000); + suspend; + } + spawn FREE.slot_3B(pid, local_02, 0x00000000); + suspend; + if (World.getControlledNPCNum() == 0) { + local_10 = World.getControlledNPCNum(); + } + else { + local_10 = 1; + } + local_14 = Item.getClosestDirectionInRange(15, 0, 16, Item.getY(local_10), Item.getX(local_10), Item.getY(arg_06), Item.getX(arg_06)); + local_08 = Item.getFrame(arg_06); + if (((local_14 / 2) - 1) == local_08) { + local_12 = Intrinsic0036(local_10, arg_06); + if (!local_12) { + local_0C = 1; + local_06 = (1 + local_06); + if ((local_06 <= local_04) && (!(Item.getStatus(arg_06) & 4))) { + spawn FREE.slot_3B(pid, local_02, 0x00000000); + suspend; + spawn TRIGGER.slot_20(pid, 0, *(arg_06), arg_06); + suspend; + ITEM.slot_24(4, arg_06); + } + } + else { + local_0C = 0; + if ((local_08 + local_0E) >= 0) { + local_0E = 1; + spawn FREE.slot_3B(pid, 30, 0x00000000); + suspend; + } + else if ((local_08 + local_0E) <= 4) { + local_0E = -1; + spawn FREE.slot_3B(pid, 30, 0x00000000); + suspend; + } + } + } + else if (!(local_06 && local_0C)) { + if (((local_14 / 2) - 1) <= local_08) { + local_0E = 1; + } + else { + local_0E = -1; + } + } + else { + local_06 = 0; + local_0C = 0; + /* bit_not */ + } + if ((local_08 + local_0E) >= 0) { + local_0E = 1; + spawn FREE.slot_3B(pid, 30, 0x00000000); + suspend; + } + else if ((local_08 + local_0E) <= 4) { + local_0E = -1; + spawn FREE.slot_3B(pid, 30, 0x00000000); + suspend; + } + } + + block_0372: + return; + +} + +/* ===== slot 0x10 leaveFastArea ===== */ +function cameraco_leaveFastArea() /* entry=96 class_id=0x01B6 slot=0x10 */ +{ + set_info(0x021C, *(arg_06)); + process_exclude(); + FREE.slot_3C(0x021B, *(arg_06)); + /* bit_not */ + return; +} diff --git a/USECODE/REGRET/CAMERAEW.unk b/USECODE/REGRET/CAMERAEW.unk new file mode 100644 index 0000000..abff6b8 --- /dev/null +++ b/USECODE/REGRET/CAMERAEW.unk @@ -0,0 +1,135 @@ + +/* synthesized appendix for CAMERAEW */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x06 gotHit ===== */ +function cameraew_gotHit() /* entry=117 class_id=0x01D7 slot=0x06 */ +{ + set_info(0x020C, *(arg_06)); + process_exclude(); + if (Item.isEntirelyOnScreen(arg_06)) { + return; + } + else if (!(Item.getStatus(arg_06) & 0x1000)) { + return; + } + else { + FREE.slot_34(arg_0C, arg_0A); + if (retval && (Item.getFrame(arg_06) == 9)) { + FREE.slot_3C(0x021B, *(arg_06)); + spawn TRIGGER.slot_20(pid, 1, *(arg_06), arg_06); + suspend; + spawn ITEM.slot_2A(pid, 0, 0, arg_06); + suspend; + } + } + return; +} + +/* ===== slot 0x0F enterFastArea ===== */ +function cameraew_enterFastArea() /* entry=117 class_id=0x01D7 slot=0x0F */ +{ + entry: + set_info(0x021B, *(arg_06)); + process_exclude(); + local_02 = ((5 - World.gameDifficulty()) * 5); + local_04 = (5 - (World.gameDifficulty() * 5)); + if (Item.getFrame(arg_06) != 9) goto block_010B; + + block_0108: + goto block_036C; + + block_010B: + while (Item.isEntirelyOnScreen(arg_06)) { + spawn FREE.slot_3B(pid, local_02, 0x00000000); + suspend; + } + + block_0132: + local_0C = 0; + local_0E = 1; + + block_013A: + while (true) { + suspend; + local_12 = 0; + while (Item.isEntirelyOnScreen(arg_06)) { + spawn FREE.slot_3B(pid, local_02, 0x00000000); + suspend; + } + spawn FREE.slot_3B(pid, local_02, 0x00000000); + suspend; + if (World.getControlledNPCNum() == 0) { + local_10 = World.getControlledNPCNum(); + } + else { + local_10 = 1; + } + local_14 = Item.getClosestDirectionInRange(15, 0, 16, Item.getY(local_10), Item.getX(local_10), Item.getY(arg_06), Item.getX(arg_06)); + local_08 = Item.getFrame(arg_06); + if ((8 - local_14) == local_08) { + local_12 = Intrinsic0036(local_10, arg_06); + if (!local_12) { + local_0C = 1; + local_06 = (1 + local_06); + if ((local_06 <= local_04) && (!(Item.getStatus(arg_06) & 4))) { + spawn FREE.slot_3B(pid, local_02, 0x00000000); + suspend; + spawn TRIGGER.slot_20(pid, 0, *(arg_06), arg_06); + suspend; + ITEM.slot_24(4, arg_06); + } + } + else { + local_0C = 0; + if ((local_08 + local_0E) >= 0) { + local_0E = 1; + spawn FREE.slot_3B(pid, 30, 0x00000000); + suspend; + } + else if ((local_08 + local_0E) <= 8) { + local_0E = -1; + spawn FREE.slot_3B(pid, 30, 0x00000000); + suspend; + } + } + } + else if (!(local_06 && local_0C)) { + if ((8 - local_14) <= local_08) { + local_0E = 1; + } + else { + local_0E = -1; + } + } + else { + local_06 = 0; + local_0C = 0; + /* bit_not */ + } + if ((local_08 + local_0E) >= 0) { + local_0E = 1; + spawn FREE.slot_3B(pid, 30, 0x00000000); + suspend; + } + else if ((local_08 + local_0E) <= 8) { + local_0E = -1; + spawn FREE.slot_3B(pid, 30, 0x00000000); + suspend; + } + } + + block_036C: + return; + +} + +/* ===== slot 0x10 leaveFastArea ===== */ +function cameraew_leaveFastArea() /* entry=117 class_id=0x01D7 slot=0x10 */ +{ + set_info(0x021C, *(arg_06)); + process_exclude(); + FREE.slot_3C(0x021B, *(arg_06)); + /* bit_not */ + return; +} diff --git a/USECODE/REGRET/CAMERANS.unk b/USECODE/REGRET/CAMERANS.unk new file mode 100644 index 0000000..2de4c59 --- /dev/null +++ b/USECODE/REGRET/CAMERANS.unk @@ -0,0 +1,135 @@ + +/* synthesized appendix for CAMERANS */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x06 gotHit ===== */ +function camerans_gotHit() /* entry=98 class_id=0x01B8 slot=0x06 */ +{ + set_info(0x020C, *(arg_06)); + process_exclude(); + if (Item.isEntirelyOnScreen(arg_06)) { + return; + } + else if (!(Item.getStatus(arg_06) & 0x1000)) { + return; + } + else { + FREE.slot_34(arg_0C, arg_0A); + if (retval && (Item.getFrame(arg_06) == 9)) { + FREE.slot_3C(0x021B, *(arg_06)); + spawn TRIGGER.slot_20(pid, 1, *(arg_06), arg_06); + suspend; + spawn ITEM.slot_2A(pid, 0, 0, arg_06); + suspend; + } + } + return; +} + +/* ===== slot 0x0F enterFastArea ===== */ +function camerans_enterFastArea() /* entry=98 class_id=0x01B8 slot=0x0F */ +{ + entry: + set_info(0x021B, *(arg_06)); + process_exclude(); + local_02 = ((5 - World.gameDifficulty()) * 5); + local_04 = (5 - (World.gameDifficulty() * 5)); + if (Item.getFrame(arg_06) != 9) goto block_010B; + + block_0108: + goto block_036C; + + block_010B: + while (Item.isEntirelyOnScreen(arg_06)) { + spawn FREE.slot_3B(pid, local_02, 0x00000000); + suspend; + } + + block_0132: + local_0C = 0; + local_0E = 1; + + block_013A: + while (true) { + suspend; + local_12 = 0; + while (Item.isEntirelyOnScreen(arg_06)) { + spawn FREE.slot_3B(pid, local_02, 0x00000000); + suspend; + } + spawn FREE.slot_3B(pid, local_02, 0x00000000); + suspend; + if (World.getControlledNPCNum() == 0) { + local_10 = World.getControlledNPCNum(); + } + else { + local_10 = 1; + } + local_14 = Item.getClosestDirectionInRange(13, 3, 16, Item.getY(local_10), Item.getX(local_10), Item.getY(arg_06), Item.getX(arg_06)); + local_08 = Item.getFrame(arg_06); + if ((12 - local_14) == local_08) { + local_12 = Intrinsic0036(local_10, arg_06); + if (!local_12) { + local_0C = 1; + local_06 = (1 + local_06); + if ((local_06 <= local_04) && (!(Item.getStatus(arg_06) & 4))) { + spawn FREE.slot_3B(pid, local_02, 0x00000000); + suspend; + spawn TRIGGER.slot_20(pid, 0, *(arg_06), arg_06); + suspend; + ITEM.slot_24(4, arg_06); + } + } + else { + local_0C = 0; + if ((local_08 + local_0E) >= 0) { + local_0E = 1; + spawn FREE.slot_3B(pid, 30, 0x00000000); + suspend; + } + else if ((local_08 + local_0E) <= 8) { + local_0E = -1; + spawn FREE.slot_3B(pid, 30, 0x00000000); + suspend; + } + } + } + else if (!(local_06 && local_0C)) { + if ((12 - local_14) <= local_08) { + local_0E = 1; + } + else { + local_0E = -1; + } + } + else { + local_06 = 0; + local_0C = 0; + /* bit_not */ + } + if ((local_08 + local_0E) >= 0) { + local_0E = 1; + spawn FREE.slot_3B(pid, 30, 0x00000000); + suspend; + } + else if ((local_08 + local_0E) <= 8) { + local_0E = -1; + spawn FREE.slot_3B(pid, 30, 0x00000000); + suspend; + } + } + + block_036C: + return; + +} + +/* ===== slot 0x10 leaveFastArea ===== */ +function camerans_leaveFastArea() /* entry=98 class_id=0x01B8 slot=0x10 */ +{ + set_info(0x021C, *(arg_06)); + process_exclude(); + FREE.slot_3C(0x021B, *(arg_06)); + /* bit_not */ + return; +} diff --git a/USECODE/REGRET/CAMETRON.unk b/USECODE/REGRET/CAMETRON.unk new file mode 100644 index 0000000..d539633 --- /dev/null +++ b/USECODE/REGRET/CAMETRON.unk @@ -0,0 +1,14 @@ + +/* synthesized appendix for CAMETRON */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x0E calledFromAnim ===== */ +function cametron_calledFromAnim() /* entry=175 class_id=0x0319 slot=0x0E */ +{ + set_info(0x021A, *(arg_06)); + process_exclude(); + local_02 = *(arg_06); + set_info(1, 0); + spawn NPCDEATH.slot_20(Intrinsic000D(arg_06), *(arg_06), local_02); + return; +} diff --git a/USECODE/REGRET/CAM_EW.unk b/USECODE/REGRET/CAM_EW.unk new file mode 100644 index 0000000..44e4261 --- /dev/null +++ b/USECODE/REGRET/CAM_EW.unk @@ -0,0 +1,68 @@ + +/* synthesized appendix for CAM_EW */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x06 gotHit ===== */ +function cam_ew_gotHit() /* entry=99 class_id=0x01B9 slot=0x06 */ +{ + set_info(0x020C, *(arg_06)); + process_exclude(); + spawn WALLGUN2.slot_21(arg_0C, arg_0A, arg_06); + return; +} + +/* ===== slot 0x0A equip ===== */ +function cam_ew_equip() /* entry=99 class_id=0x01B9 slot=0x0A */ +{ + set_info(0x0211, *(arg_06)); + process_exclude(); + if (World.getControlledNPCNum() == 0) { + spawn WALLGUN.slot_24(pid, arg_0A, World.getControlledNPCNum(), arg_06); + suspend; + return; + } + else { + spawn WALLGUN.slot_24(pid, arg_0A, global[0x001E], arg_06); + suspend; + } + return; +} + +/* ===== slot 0x0B unequip ===== */ +function cam_ew_unequip() /* entry=99 class_id=0x01B9 slot=0x0B */ +{ + set_info(0x0212, *(arg_06)); + process_exclude(); + if (!(Item.getStatus(arg_06) & 4)) { + return; + } + else { + spawn WALLGUN.slot_27(arg_06); + } + return; +} + +/* ===== slot 0x0F enterFastArea ===== */ +function cam_ew_enterFastArea() /* entry=99 class_id=0x01B9 slot=0x0F */ +{ + set_info(0x021B, *(arg_06)); + process_exclude(); + if (!(Item.getStatus(arg_06) & 4)) { + return; + } + else { + spawn WALLGUN.slot_27(arg_06); + } + return; +} + +/* ===== slot 0x10 leaveFastArea ===== */ +function cam_ew_leaveFastArea() /* entry=99 class_id=0x01B9 slot=0x10 */ +{ + set_info(0x021C, *(arg_06)); + process_exclude(); + /* bit_not */ + FREE.slot_3C(1, *(arg_06)); + FREE.slot_3C(0x020A, *(arg_06)); + return; +} diff --git a/USECODE/REGRET/CAM_NS.unk b/USECODE/REGRET/CAM_NS.unk new file mode 100644 index 0000000..7bd36f1 --- /dev/null +++ b/USECODE/REGRET/CAM_NS.unk @@ -0,0 +1,68 @@ + +/* synthesized appendix for CAM_NS */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x06 gotHit ===== */ +function cam_ns_gotHit() /* entry=100 class_id=0x01BA slot=0x06 */ +{ + set_info(0x020C, *(arg_06)); + process_exclude(); + spawn WALLGUN2.slot_21(arg_0C, arg_0A, arg_06); + return; +} + +/* ===== slot 0x0A equip ===== */ +function cam_ns_equip() /* entry=100 class_id=0x01BA slot=0x0A */ +{ + set_info(0x0211, *(arg_06)); + process_exclude(); + if (World.getControlledNPCNum() == 0) { + spawn WALLGUN.slot_24(pid, arg_0A, World.getControlledNPCNum(), arg_06); + suspend; + return; + } + else { + spawn WALLGUN.slot_24(pid, arg_0A, global[0x001E], arg_06); + suspend; + } + return; +} + +/* ===== slot 0x0B unequip ===== */ +function cam_ns_unequip() /* entry=100 class_id=0x01BA slot=0x0B */ +{ + set_info(0x0212, *(arg_06)); + process_exclude(); + if (!(Item.getStatus(arg_06) & 4)) { + return; + } + else { + spawn WALLGUN.slot_27(arg_06); + } + return; +} + +/* ===== slot 0x0F enterFastArea ===== */ +function cam_ns_enterFastArea() /* entry=100 class_id=0x01BA slot=0x0F */ +{ + set_info(0x021B, *(arg_06)); + process_exclude(); + if (!(Item.getStatus(arg_06) & 4)) { + return; + } + else { + spawn WALLGUN.slot_27(arg_06); + } + return; +} + +/* ===== slot 0x10 leaveFastArea ===== */ +function cam_ns_leaveFastArea() /* entry=100 class_id=0x01BA slot=0x10 */ +{ + set_info(0x021C, *(arg_06)); + process_exclude(); + /* bit_not */ + FREE.slot_3C(1, *(arg_06)); + FREE.slot_3C(0x020A, *(arg_06)); + return; +} diff --git a/USECODE/REGRET/CARD_EW.unk b/USECODE/REGRET/CARD_EW.unk new file mode 100644 index 0000000..826ccb2 --- /dev/null +++ b/USECODE/REGRET/CARD_EW.unk @@ -0,0 +1,28 @@ + +/* synthesized appendix for CARD_EW */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x01 use ===== */ +function card_ew_use() /* entry=177 class_id=0x031E slot=0x01 */ +{ + set_info(0x0207, *(arg_06)); + process_exclude(); + spawn SWITCH.slot_22(arg_06); + return; +} + +/* ===== slot 0x11 cast ===== */ +function card_ew_cast() /* entry=177 class_id=0x031E slot=0x11 */ +{ + set_info(0x021D, *(arg_06)); + process_exclude(); + spawn FREE.slot_3B(pid, 60, 0x00000000); + suspend; + spawn FREE.slot_21(pid, 0x0183, 0x00000000); + suspend; + spawn FREE.slot_3B(pid, 1, 0x00000000); + suspend; + spawn TRIGGER.slot_20(pid, 0, *(arg_06), arg_06); + suspend; + return; +} diff --git a/USECODE/REGRET/CARD_NS.unk b/USECODE/REGRET/CARD_NS.unk new file mode 100644 index 0000000..738c763 --- /dev/null +++ b/USECODE/REGRET/CARD_NS.unk @@ -0,0 +1,28 @@ + +/* synthesized appendix for CARD_NS */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x01 use ===== */ +function card_ns_use() /* entry=176 class_id=0x031D slot=0x01 */ +{ + set_info(0x0207, *(arg_06)); + process_exclude(); + spawn SWITCH.slot_22(arg_06); + return; +} + +/* ===== slot 0x11 cast ===== */ +function card_ns_cast() /* entry=176 class_id=0x031D slot=0x11 */ +{ + set_info(0x021D, *(arg_06)); + process_exclude(); + spawn FREE.slot_3B(pid, 60, 0x00000000); + suspend; + spawn FREE.slot_21(pid, 0x0183, 0x00000000); + suspend; + spawn FREE.slot_3B(pid, 1, 0x00000000); + suspend; + spawn TRIGGER.slot_20(pid, 0, *(arg_06), arg_06); + suspend; + return; +} diff --git a/USECODE/REGRET/CATWALK1.unk b/USECODE/REGRET/CATWALK1.unk new file mode 100644 index 0000000..bb78707 --- /dev/null +++ b/USECODE/REGRET/CATWALK1.unk @@ -0,0 +1,19 @@ + +/* synthesized appendix for CATWALK1 */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x06 gotHit ===== */ +function catwalk1_gotHit() /* entry=38 class_id=0x0096 slot=0x06 */ +{ + set_info(0x020C, *(arg_06)); + process_exclude(); + FREE.slot_35(arg_0C, arg_0A); + if (retval == 4) { + return; + } + else { + spawn FREE.slot_3B(pid, 10, 0x00000000); + suspend; + } + return; +} diff --git a/USECODE/REGRET/CATWALK2.unk b/USECODE/REGRET/CATWALK2.unk new file mode 100644 index 0000000..902ae53 --- /dev/null +++ b/USECODE/REGRET/CATWALK2.unk @@ -0,0 +1,20 @@ + +/* synthesized appendix for CATWALK2 */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x06 gotHit ===== */ +function catwalk2_gotHit() /* entry=61 class_id=0x0132 slot=0x06 */ +{ + set_info(0x020C, *(arg_06)); + process_exclude(); + local_02 = Item.getFrame(arg_06); + FREE.slot_35(arg_0C, arg_0A); + if (retval == 4) { + return; + } + else { + spawn FREE.slot_3B(pid, 10, 0x00000000); + suspend; + } + return; +} diff --git a/USECODE/REGRET/CHANGER.unk b/USECODE/REGRET/CHANGER.unk new file mode 100644 index 0000000..454d11e --- /dev/null +++ b/USECODE/REGRET/CHANGER.unk @@ -0,0 +1,22 @@ + +/* synthesized appendix for CHANGER */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x07 hatch ===== */ +function changer_hatch() /* entry=427 class_id=0x0908 slot=0x07 */ +{ + set_info(0x0210, *(arg_06)); + process_exclude(); + local_04 = Item.getQLo(arg_06); + local_08 = Egg.getEggId(arg_06); + if (!local_08) { + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x4C */ + /* loop current_var=0xFE string_bytes=0x1A loop_type=0x2 */ + while (!condition) { + local_06 = Item.getQLo(local_02); + /* loopnext */ + } + } + return; +} diff --git a/USECODE/REGRET/CHEDITRO.unk b/USECODE/REGRET/CHEDITRO.unk new file mode 100644 index 0000000..9c9e1b7 --- /dev/null +++ b/USECODE/REGRET/CHEDITRO.unk @@ -0,0 +1,13 @@ + +/* synthesized appendix for CHEDITRO */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x0E calledFromAnim ===== */ +function cheditro_calledFromAnim() /* entry=201 class_id=0x0385 slot=0x0E */ +{ + set_info(0x021A, *(arg_06)); + process_exclude(); + local_02 = *(arg_06); + spawn NPCDEATH.slot_20(Intrinsic000D(arg_06), *(arg_06), local_02); + return; +} diff --git a/USECODE/REGRET/CHEMSUIT.unk b/USECODE/REGRET/CHEMSUIT.unk new file mode 100644 index 0000000..3f2a6e3 --- /dev/null +++ b/USECODE/REGRET/CHEMSUIT.unk @@ -0,0 +1,12 @@ + +/* synthesized appendix for CHEMSUIT */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x0E calledFromAnim ===== */ +function chemsuit_calledFromAnim() /* entry=167 class_id=0x02F6 slot=0x0E */ +{ + set_info(0x021A, *(arg_06)); + process_exclude(); + spawn NPCDEATH.slot_20(Intrinsic000D(arg_06), *(arg_06), arg_06); + return; +} diff --git a/USECODE/REGRET/CHEST_EW.unk b/USECODE/REGRET/CHEST_EW.unk new file mode 100644 index 0000000..0e248cb --- /dev/null +++ b/USECODE/REGRET/CHEST_EW.unk @@ -0,0 +1,99 @@ + +/* synthesized appendix for CHEST_EW */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x01 use ===== */ +function chest_ew_use() /* entry=321 class_id=0x0550 slot=0x01 */ +{ + set_info(0x0207, *(arg_06)); + process_exclude(); + if (Item.getFrame(arg_06) <= 1) { + return; + } + else if (Item.getFrame(arg_06) == 1) { + FREE.slot_36(Item.getZ(arg_06), Item.getY(arg_06), Item.getX(arg_06), 6, 0x054B, *(arg_06)); + if (!retval) { + local_06 = 6; + while (local_06 > 10) { + spawn FREE.slot_3B(pid, 10, 0x00000000); + suspend; + local_06 = (1 + local_06); + } + } + else { + return; + } + } + else { + FREE.slot_36(Item.getZ(arg_06), Item.getY(arg_06), Item.getX(arg_06), 1, 0x054B, *(arg_06)); + if (!retval) { + local_06 = 1; + while (local_06 > 5) { + spawn FREE.slot_3B(pid, 10, 0x00000000); + suspend; + local_06 = (1 + local_06); + } + } + else { + return; + } + } + spawn TRIGGER.slot_20(pid, 0, *(arg_06), arg_06); + suspend; + /* loop_selector local_02 in nearby_items(shape=0x0476, origin=arg_06) */ + while (!condition) { + if (Item.getQLo(arg_06) == Item.getQLo(local_02)) { + FREE.slot_37(local_02); + local_04 = retval; + if ((((Item.getFamily(local_04) == 10) || (Item.getFamily(local_04) != 11)) || (Item.getFamily(local_04) != 12)) || (Item.getFamily(local_04) != 13)) { + if (MainActor.addItemCru(1, local_04)) { + /* global_address global_id=0x1E */ + if (Actor.getMap() == 25) { + } + else { + /* global_address global_id=0x1E */ + /* global_address global_id=0x1E */ + /* global_address global_id=0x1E */ + } + } + } + else { + spawn FREE.slot_3A(pid, local_04, 0x00000000); + suspend; + } + } + /* loopnext */ + } + return; +} + +/* ===== slot 0x06 gotHit ===== */ +function chest_ew_gotHit() /* entry=321 class_id=0x0550 slot=0x06 */ +{ + set_info(0x020C, *(arg_06)); + process_exclude(); + FREE.slot_35(arg_0C, arg_0A); + if (retval) { + return; + } + else { + local_02 = Item.getFrame(arg_06); + if (local_02 >= 2) { + spawn ITEM.slot_29(pid, 0x008C, arg_0C, arg_0A, arg_06); + suspend; + /* dword_to_word */ + if (process_result) { + FREE.slot_20(1); + if (!retval) { + } + return; + } + else { + spawn ITEM.slot_2A(pid, 0, 0, arg_06); + suspend; + ITEM.slot_24(0x1000, arg_06); + } + } + } + return; +} diff --git a/USECODE/REGRET/CHEST_NS.unk b/USECODE/REGRET/CHEST_NS.unk new file mode 100644 index 0000000..4224570 --- /dev/null +++ b/USECODE/REGRET/CHEST_NS.unk @@ -0,0 +1,101 @@ + +/* synthesized appendix for CHEST_NS */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x01 use ===== */ +function chest_ns_use() /* entry=320 class_id=0x054F slot=0x01 */ +{ + set_info(0x0207, *(arg_06)); + process_exclude(); + if (Item.getFrame(arg_06) <= 1) { + return; + } + else if (Item.getFrame(arg_06) == 1) { + FREE.slot_36(Item.getZ(arg_06), Item.getY(arg_06), Item.getX(arg_06), 6, 0x054A, *(arg_06)); + if (!retval) { + local_06 = 6; + while (local_06 > 10) { + spawn FREE.slot_3B(pid, 10, 0x00000000); + suspend; + local_06 = (1 + local_06); + } + } + else { + return; + } + } + else { + FREE.slot_36(Item.getZ(arg_06), Item.getY(arg_06), Item.getX(arg_06), 1, 0x054A, *(arg_06)); + if (!retval) { + local_06 = 1; + while (local_06 > 5) { + spawn FREE.slot_3B(pid, 10, 0x00000000); + suspend; + local_06 = (1 + local_06); + } + } + else { + return; + } + } + spawn TRIGGER.slot_20(pid, 0, *(arg_06), arg_06); + suspend; + local_08 = (Item.getX(arg_06) + 56); + local_0A = (Item.getY(arg_06) + 64); + /* loop_selector local_02 in nearby_items(shape=0x0476, origin=arg_06) */ + while (!condition) { + if (Item.getQLo(arg_06) == Item.getQLo(local_02)) { + FREE.slot_37(local_02); + local_04 = retval; + if ((((Item.getFamily(local_04) == 10) || (Item.getFamily(local_04) != 11)) || (Item.getFamily(local_04) != 12)) || (Item.getFamily(local_04) != 13)) { + if (MainActor.addItemCru(1, local_04)) { + /* global_address global_id=0x1E */ + if (Actor.getMap() == 25) { + } + else { + /* global_address global_id=0x1E */ + /* global_address global_id=0x1E */ + /* global_address global_id=0x1E */ + } + } + } + else { + spawn FREE.slot_3A(pid, local_04, 0x00000000); + suspend; + } + } + /* loopnext */ + } + return; +} + +/* ===== slot 0x06 gotHit ===== */ +function chest_ns_gotHit() /* entry=320 class_id=0x054F slot=0x06 */ +{ + set_info(0x020C, *(arg_06)); + process_exclude(); + FREE.slot_35(arg_0C, arg_0A); + if (retval) { + return; + } + else { + local_02 = Item.getFrame(arg_06); + if (local_02 >= 2) { + spawn ITEM.slot_29(pid, 0x008C, arg_0C, arg_0A, arg_06); + suspend; + /* dword_to_word */ + if (process_result) { + FREE.slot_20(1); + if (!retval) { + } + return; + } + else { + spawn ITEM.slot_2A(pid, 0, 0, arg_06); + suspend; + ITEM.slot_24(0x1000, arg_06); + } + } + } + return; +} diff --git a/USECODE/REGRET/CHEST_OE.unk b/USECODE/REGRET/CHEST_OE.unk new file mode 100644 index 0000000..9ea094a --- /dev/null +++ b/USECODE/REGRET/CHEST_OE.unk @@ -0,0 +1,41 @@ + +/* synthesized appendix for CHEST_OE */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x01 use ===== */ +function chest_oe_use() /* entry=317 class_id=0x054B slot=0x01 */ +{ + set_info(0x0207, *(arg_06)); + process_exclude(); + if (Item.getFrame(arg_06) <= 9) { + return; + } + else { + spawn FREE.slot_49(pid, *(arg_06), 0x00000000); + suspend; + /* dword_to_word */ + if (!process_result) { + ITEM.slot_24(0x1000, arg_06); + } + } + return; +} + +/* ===== slot 0x06 gotHit ===== */ +function chest_oe_gotHit() /* entry=317 class_id=0x054B slot=0x06 */ +{ + set_info(0x020C, *(arg_06)); + process_exclude(); + FREE.slot_35(arg_0C, arg_0A); + if (retval) { + return; + } + else if (Item.getFrame(arg_06) >= 10) { + FREE.slot_35(arg_0C, arg_0A); + if (!retval) { + spawn ITEM.slot_2A(pid, 0, 0, arg_06); + suspend; + } + } + return; +} diff --git a/USECODE/REGRET/CHEST_ON.unk b/USECODE/REGRET/CHEST_ON.unk new file mode 100644 index 0000000..2a3baa1 --- /dev/null +++ b/USECODE/REGRET/CHEST_ON.unk @@ -0,0 +1,41 @@ + +/* synthesized appendix for CHEST_ON */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x01 use ===== */ +function chest_on_use() /* entry=316 class_id=0x054A slot=0x01 */ +{ + set_info(0x0207, *(arg_06)); + process_exclude(); + if (Item.getFrame(arg_06) <= 9) { + return; + } + else { + spawn FREE.slot_49(pid, *(arg_06), 0x00000000); + suspend; + /* dword_to_word */ + if (!process_result) { + ITEM.slot_24(0x1000, arg_06); + } + } + return; +} + +/* ===== slot 0x06 gotHit ===== */ +function chest_on_gotHit() /* entry=316 class_id=0x054A slot=0x06 */ +{ + set_info(0x020C, *(arg_06)); + process_exclude(); + FREE.slot_35(arg_0C, arg_0A); + if (retval) { + return; + } + else if (Item.getFrame(arg_06) >= 10) { + FREE.slot_35(arg_0C, arg_0A); + if (!retval) { + spawn ITEM.slot_2A(pid, 0, 0, arg_06); + suspend; + } + } + return; +} diff --git a/USECODE/REGRET/CONGRESS.unk b/USECODE/REGRET/CONGRESS.unk new file mode 100644 index 0000000..d619692 --- /dev/null +++ b/USECODE/REGRET/CONGRESS.unk @@ -0,0 +1,12 @@ + +/* synthesized appendix for CONGRESS */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x0E calledFromAnim ===== */ +function congress_calledFromAnim() /* entry=159 class_id=0x02DF slot=0x0E */ +{ + set_info(0x021A, *(arg_06)); + process_exclude(); + spawn NPCDEATH.slot_20(Intrinsic000D(arg_06), *(arg_06), arg_06); + return; +} diff --git a/USECODE/REGRET/CONTAIN.unk b/USECODE/REGRET/CONTAIN.unk new file mode 100644 index 0000000..5cbceab --- /dev/null +++ b/USECODE/REGRET/CONTAIN.unk @@ -0,0 +1,68 @@ + +/* synthesized appendix for CONTAIN */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x20 slot_20 ===== */ +function contain_slot_20() /* entry=449 class_id=0x0A03 slot=0x20 */ +{ + set_info(0x0001, *(arg_06)); + FREE.slot_35(arg_0C, arg_0A); + ITEM.slot_26((retval < 1), 0x1000, arg_06); + if (retval == 1) { + return; + } + else { + spawn ITEM.slot_29(pid, 0x0096, arg_0C, arg_0A, arg_06); + suspend; + /* dword_to_word */ + if (process_result) { + FREE.slot_20(1); + if (!retval) { + } + return; + } + else { + local_04 = *(arg_06); + local_06 = Item.getQLo(arg_06); + if (!(global[0x0007])) { + return; + } + else { + /* pop_global global_id=0x7 size=0x1 */ + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x44 */ + /* loop current_var=0xFE string_bytes=0xA loop_type=0x2 */ + while (!condition) { + if (local_06 == Item.getQLo(local_02)) { + if (Item.getShape(local_02) == 52) { + if (Item.getFrame(arg_06) == 0) { + suspend; + } + } + else if (Item.getShape(local_02) == 0x034B) { + spawn ITEM.slot_2A(pid, 1, 0, local_02); + suspend; + } + else if (Item.getShape(local_02) == 11) { + ITEM.slot_24(0x1000, local_02); + if (Item.getFrame(local_02)) { + spawn ITEM.slot_2A(pid, 0, 1, local_02); + suspend; + } + } + else if (Item.getShape(local_02) == 0x0127) { + ITEM.slot_24(0x1000, local_02); + if (Item.getFrame(local_02)) { + spawn ITEM.slot_2A(pid, 0, 1, local_02); + suspend; + } + } + } + /* loopnext */ + } + /* pop_global global_id=0x7 size=0x1 */ + } + } + } + return; +} diff --git a/USECODE/REGRET/CONT_EW.unk b/USECODE/REGRET/CONT_EW.unk new file mode 100644 index 0000000..c1d94cf --- /dev/null +++ b/USECODE/REGRET/CONT_EW.unk @@ -0,0 +1,13 @@ + +/* synthesized appendix for CONT_EW */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x06 gotHit ===== */ +function cont_ew_gotHit() /* entry=4 class_id=0x000B slot=0x06 */ +{ + set_info(0x020C, *(arg_06)); + process_exclude(); + spawn CONTAIN.slot_20(pid, arg_0C, arg_0A, arg_06); + suspend; + return; +} diff --git a/USECODE/REGRET/CONT_FL.unk b/USECODE/REGRET/CONT_FL.unk new file mode 100644 index 0000000..df208b7 --- /dev/null +++ b/USECODE/REGRET/CONT_FL.unk @@ -0,0 +1,13 @@ + +/* synthesized appendix for CONT_FL */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x11 cast ===== */ +function cont_fl_cast() /* entry=11 class_id=0x0034 slot=0x11 */ +{ + set_info(0x021D, *(arg_06)); + process_exclude(); + spawn TRIGGER.slot_20(pid, 0, *(arg_06), arg_06); + suspend; + return; +} diff --git a/USECODE/REGRET/CONT_NS.unk b/USECODE/REGRET/CONT_NS.unk new file mode 100644 index 0000000..52e7ee0 --- /dev/null +++ b/USECODE/REGRET/CONT_NS.unk @@ -0,0 +1,13 @@ + +/* synthesized appendix for CONT_NS */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x06 gotHit ===== */ +function cont_ns_gotHit() /* entry=57 class_id=0x0127 slot=0x06 */ +{ + set_info(0x020C, *(arg_06)); + process_exclude(); + spawn CONTAIN.slot_20(pid, arg_0C, arg_0A, arg_06); + suspend; + return; +} diff --git a/USECODE/REGRET/CONVEYOR.unk b/USECODE/REGRET/CONVEYOR.unk new file mode 100644 index 0000000..65bed04 --- /dev/null +++ b/USECODE/REGRET/CONVEYOR.unk @@ -0,0 +1,78 @@ + +/* synthesized appendix for CONVEYOR */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x10 leaveFastArea ===== */ +function conveyor_leaveFastArea() /* entry=478 class_id=0x0A20 slot=0x10 */ +{ + set_info(0x021C, *(arg_06)); + process_exclude(); + FREE.slot_3C(0x0205, *(arg_06)); + return; +} + +/* ===== slot 0x20 slot_20 ===== */ +function conveyor_slot_20() /* entry=478 class_id=0x0A20 slot=0x20 */ +{ + entry: + set_info(0x0205, *(arg_06)); + set_info(0x0205, *(arg_06)); + local_02 = 0; + local_02 = Item.getFrame(arg_06); + if (Intrinsic0035(115, arg_06) != 0) goto block_0120; + + block_0116: + + block_0120: + while (true) { + suspend; + local_03 = 0; + if (!Item.getQHi(arg_06)) { + local_02 = (local_02 - 1); + if (arg_0A >= 0) { + arg_0A = (arg_0A * -1); + } + if (arg_0C >= 0) { + arg_0C = (arg_0C * -1); + } + } + else { + local_02 = (1 + local_02); + if (arg_0A <= 0) { + arg_0A = (arg_0A * -1); + } + if (arg_0C <= 0) { + arg_0C = (arg_0C * -1); + } + } + if (local_02 <= 2) { + local_02 = 0; + } + if (local_02 >= 0) { + local_02 = 2; + } + /* loopscr value_u8=0x24 */ + /* loop current_var=0xFB string_bytes=0x1 loop_type=0x6 */ + while (!condition) { + local_09 = Item.getShape(local_05); + if ((local_09 == 0x0476) && (local_09 != 0x04D0)) { + local_06 = Item.isOn(*(arg_06), local_05); + local_0E = (Item.getX(local_05) + arg_0A); + local_0C = (Item.getY(local_05) + arg_0C); + local_0A = Item.getZ(local_05); + local_07 = Item.isOn(*(arg_06), local_05); + local_03 = 1; + } + /* loopnext */ + } + spawn FREE.slot_3B(pid, 2, 0x00000000); + suspend; + if (local_03) { + return; + } + } + + block_02C0: + return; + +} diff --git a/USECODE/REGRET/CONVEY_E.unk b/USECODE/REGRET/CONVEY_E.unk new file mode 100644 index 0000000..94137ef --- /dev/null +++ b/USECODE/REGRET/CONVEY_E.unk @@ -0,0 +1,54 @@ + +/* synthesized appendix for CONVEY_E */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x06 gotHit ===== */ +function convey_e_gotHit() /* entry=63 class_id=0x0134 slot=0x06 */ +{ + set_info(0x020C, *(arg_06)); + process_exclude(); + local_01 = 0; + local_02 = -3; + if (!Item.getQHi(arg_06)) { + local_02 = 3; + } + FREE.slot_35(arg_0C, arg_0A); + if (!retval) { + return; + } + else { + local_04 = arg_0A; + local_05 = Item.isOn(*(arg_06), local_04); + local_06 = 1; + if (Item.getQHi(arg_06) == 0x00FF) { + local_06 = 0; + } + if (!(local_05 && local_06)) { + spawn CONVEYOR.slot_20(pid, local_02, local_01, arg_06); + suspend; + } + } + return; +} + +/* ===== slot 0x0A equip ===== */ +function convey_e_equip() /* entry=63 class_id=0x0134 slot=0x0A */ +{ + set_info(0x0211, *(arg_06)); + process_exclude(); + if (arg_0A == 0) { + FREE.slot_3C(0x0205, *(arg_06)); + return; + } + else if (arg_0A == 1) { + FREE.slot_3C(0x0205, *(arg_06)); + spawn CONVEYOR.slot_20(-3, 0, arg_06); + return; + } + else if (arg_0A == 2) { + FREE.slot_3C(0x0205, *(arg_06)); + spawn CONVEYOR.slot_20(3, 0, arg_06); + return; + } + return; +} diff --git a/USECODE/REGRET/CONVEY_N.unk b/USECODE/REGRET/CONVEY_N.unk new file mode 100644 index 0000000..ffa9b48 --- /dev/null +++ b/USECODE/REGRET/CONVEY_N.unk @@ -0,0 +1,54 @@ + +/* synthesized appendix for CONVEY_N */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x06 gotHit ===== */ +function convey_n_gotHit() /* entry=22 class_id=0x006B slot=0x06 */ +{ + set_info(0x020C, *(arg_06)); + process_exclude(); + local_01 = -3; + local_02 = 0; + if (!Item.getQHi(arg_06)) { + local_01 = 3; + } + FREE.slot_35(arg_0C, arg_0A); + if (!retval) { + return; + } + else { + local_04 = arg_0A; + local_05 = Item.isOn(*(arg_06), local_04); + local_06 = 1; + if (Item.getQHi(arg_06) == 0x00FF) { + local_06 = 0; + } + if (!(local_05 && local_06)) { + spawn CONVEYOR.slot_20(pid, local_02, local_01, arg_06); + suspend; + } + } + return; +} + +/* ===== slot 0x0A equip ===== */ +function convey_n_equip() /* entry=22 class_id=0x006B slot=0x0A */ +{ + set_info(0x0211, *(arg_06)); + process_exclude(); + if (arg_0A == 0) { + FREE.slot_3C(0x0205, *(arg_06)); + return; + } + else if (arg_0A == 1) { + FREE.slot_3C(0x0205, *(arg_06)); + spawn CONVEYOR.slot_20(0, -3, arg_06); + return; + } + else if (arg_0A == 2) { + FREE.slot_3C(0x0205, *(arg_06)); + spawn CONVEYOR.slot_20(0, 3, arg_06); + return; + } + return; +} diff --git a/USECODE/REGRET/CONVFLR.unk b/USECODE/REGRET/CONVFLR.unk new file mode 100644 index 0000000..1a4d33e --- /dev/null +++ b/USECODE/REGRET/CONVFLR.unk @@ -0,0 +1,54 @@ + +/* synthesized appendix for CONVFLR */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x06 gotHit ===== */ +function convflr_gotHit() /* entry=130 class_id=0x022C slot=0x06 */ +{ + set_info(0x020C, *(arg_06)); + process_exclude(); + local_01 = 0; + local_02 = -3; + if (!Item.getQHi(arg_06)) { + local_02 = 3; + } + FREE.slot_35(arg_0C, arg_0A); + if (!retval) { + return; + } + else { + local_04 = arg_0A; + local_05 = Item.isOn(*(arg_06), local_04); + local_06 = 1; + if (Item.getQHi(arg_06) == 0x00FF) { + local_06 = 0; + } + if (!(local_05 && local_06)) { + spawn CONVEYOR.slot_20(pid, local_02, local_01, arg_06); + suspend; + } + } + return; +} + +/* ===== slot 0x0A equip ===== */ +function convflr_equip() /* entry=130 class_id=0x022C slot=0x0A */ +{ + set_info(0x0211, *(arg_06)); + process_exclude(); + if (arg_0A == 0) { + FREE.slot_3C(0x0205, *(arg_06)); + return; + } + else if (arg_0A == 1) { + FREE.slot_3C(0x0205, *(arg_06)); + spawn CONVEYOR.slot_20(-3, 0, arg_06); + return; + } + else if (arg_0A == 2) { + FREE.slot_3C(0x0205, *(arg_06)); + spawn CONVEYOR.slot_20(3, 0, arg_06); + return; + } + return; +} diff --git a/USECODE/REGRET/CONVFLR2.unk b/USECODE/REGRET/CONVFLR2.unk new file mode 100644 index 0000000..fe99e52 --- /dev/null +++ b/USECODE/REGRET/CONVFLR2.unk @@ -0,0 +1,54 @@ + +/* synthesized appendix for CONVFLR2 */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x06 gotHit ===== */ +function convflr2_gotHit() /* entry=326 class_id=0x0563 slot=0x06 */ +{ + set_info(0x020C, *(arg_06)); + process_exclude(); + local_01 = -3; + local_02 = 0; + if (!Item.getQHi(arg_06)) { + local_01 = 3; + } + FREE.slot_35(arg_0C, arg_0A); + if (!retval) { + return; + } + else { + local_04 = arg_0A; + local_05 = Item.isOn(*(arg_06), local_04); + local_06 = 1; + if (Item.getQHi(arg_06) == 0x00FF) { + local_06 = 0; + } + if (!(local_05 && local_06)) { + spawn CONVEYOR.slot_20(pid, local_02, local_01, arg_06); + suspend; + } + } + return; +} + +/* ===== slot 0x0A equip ===== */ +function convflr2_equip() /* entry=326 class_id=0x0563 slot=0x0A */ +{ + set_info(0x0211, *(arg_06)); + process_exclude(); + if (arg_0A == 0) { + FREE.slot_3C(0x0205, *(arg_06)); + return; + } + else if (arg_0A == 1) { + FREE.slot_3C(0x0205, *(arg_06)); + spawn CONVEYOR.slot_20(0, -3, arg_06); + return; + } + else if (arg_0A == 2) { + FREE.slot_3C(0x0205, *(arg_06)); + spawn CONVEYOR.slot_20(0, 3, arg_06); + return; + } + return; +} diff --git a/USECODE/REGRET/CONV_EL.unk b/USECODE/REGRET/CONV_EL.unk new file mode 100644 index 0000000..90f829d --- /dev/null +++ b/USECODE/REGRET/CONV_EL.unk @@ -0,0 +1,54 @@ + +/* synthesized appendix for CONV_EL */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x06 gotHit ===== */ +function conv_el_gotHit() /* entry=146 class_id=0x0293 slot=0x06 */ +{ + set_info(0x020C, *(arg_06)); + process_exclude(); + local_01 = 0; + local_02 = -3; + if (!Item.getQHi(arg_06)) { + local_02 = 3; + } + FREE.slot_35(arg_0C, arg_0A); + if (!retval) { + return; + } + else { + local_04 = arg_0A; + local_05 = Item.isOn(*(arg_06), local_04); + local_06 = 1; + if (Item.getQHi(arg_06) == 0x00FF) { + local_06 = 0; + } + if (!(local_05 && local_06)) { + spawn CONVEYOR.slot_20(pid, local_02, local_01, arg_06); + suspend; + } + } + return; +} + +/* ===== slot 0x0A equip ===== */ +function conv_el_equip() /* entry=146 class_id=0x0293 slot=0x0A */ +{ + set_info(0x0211, *(arg_06)); + process_exclude(); + if (arg_0A == 0) { + FREE.slot_3C(0x0205, *(arg_06)); + return; + } + else if (arg_0A == 1) { + FREE.slot_3C(0x0205, *(arg_06)); + spawn CONVEYOR.slot_20(-3, 0, arg_06); + return; + } + else if (arg_0A == 2) { + FREE.slot_3C(0x0205, *(arg_06)); + spawn CONVEYOR.slot_20(3, 0, arg_06); + return; + } + return; +} diff --git a/USECODE/REGRET/CONV_NL.unk b/USECODE/REGRET/CONV_NL.unk new file mode 100644 index 0000000..f6dc935 --- /dev/null +++ b/USECODE/REGRET/CONV_NL.unk @@ -0,0 +1,54 @@ + +/* synthesized appendix for CONV_NL */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x06 gotHit ===== */ +function conv_nl_gotHit() /* entry=145 class_id=0x0292 slot=0x06 */ +{ + set_info(0x020C, *(arg_06)); + process_exclude(); + local_01 = -3; + local_02 = 0; + if (!Item.getQHi(arg_06)) { + local_01 = 3; + } + FREE.slot_35(arg_0C, arg_0A); + if (!retval) { + return; + } + else { + local_04 = arg_0A; + local_05 = Item.isOn(*(arg_06), local_04); + local_06 = 1; + if (Item.getQHi(arg_06) == 0x00FF) { + local_06 = 0; + } + if (!(local_05 && local_06)) { + spawn CONVEYOR.slot_20(pid, local_02, local_01, arg_06); + suspend; + } + } + return; +} + +/* ===== slot 0x0A equip ===== */ +function conv_nl_equip() /* entry=145 class_id=0x0292 slot=0x0A */ +{ + set_info(0x0211, *(arg_06)); + process_exclude(); + if (arg_0A == 0) { + FREE.slot_3C(0x0205, *(arg_06)); + return; + } + else if (arg_0A == 1) { + FREE.slot_3C(0x0205, *(arg_06)); + spawn CONVEYOR.slot_20(0, -3, arg_06); + return; + } + else if (arg_0A == 2) { + FREE.slot_3C(0x0205, *(arg_06)); + spawn CONVEYOR.slot_20(0, 3, arg_06); + return; + } + return; +} diff --git a/USECODE/REGRET/COPY_EW.unk b/USECODE/REGRET/COPY_EW.unk new file mode 100644 index 0000000..7fd3858 --- /dev/null +++ b/USECODE/REGRET/COPY_EW.unk @@ -0,0 +1,25 @@ + +/* synthesized appendix for COPY_EW */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x06 gotHit ===== */ +function copy_ew_gotHit() /* entry=235 class_id=0x0433 slot=0x06 */ +{ + set_info(0x020C, *(arg_06)); + process_exclude(); + local_02 = Item.getFrame(arg_06); + local_04 = 2; + if (local_02 <= 1) { + return; + } + else { + FREE.slot_35(arg_0C, arg_0A); + if (!retval) { + spawn ITEM.slot_2A(pid, 0, 1, arg_06); + suspend; + FREE.slot_20(1); + FREE.slot_20(local_04, 10); + } + } + return; +} diff --git a/USECODE/REGRET/COPY_NS.unk b/USECODE/REGRET/COPY_NS.unk new file mode 100644 index 0000000..e98fce4 --- /dev/null +++ b/USECODE/REGRET/COPY_NS.unk @@ -0,0 +1,25 @@ + +/* synthesized appendix for COPY_NS */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x06 gotHit ===== */ +function copy_ns_gotHit() /* entry=236 class_id=0x0434 slot=0x06 */ +{ + set_info(0x020C, *(arg_06)); + process_exclude(); + local_02 = Item.getFrame(arg_06); + local_04 = 2; + if (local_02 <= 1) { + return; + } + else { + FREE.slot_35(arg_0C, arg_0A); + if (!retval) { + spawn ITEM.slot_2A(pid, 0, 1, arg_06); + suspend; + FREE.slot_20(1); + FREE.slot_20(local_04, 10); + } + } + return; +} diff --git a/USECODE/REGRET/COURIER.unk b/USECODE/REGRET/COURIER.unk new file mode 100644 index 0000000..9102e31 --- /dev/null +++ b/USECODE/REGRET/COURIER.unk @@ -0,0 +1,31 @@ + +/* synthesized appendix for COURIER */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x06 gotHit ===== */ +function courier_gotHit() /* entry=256 class_id=0x045D slot=0x06 */ +{ + set_info(0x020C, *(arg_06)); + process_exclude(); + if (arg_0A == 1) { + /* loopscr value_u8=0x24 */ + /* loop current_var=0xFE string_bytes=0x1 loop_type=0x4 */ + while (!condition) { + /* loopnext */ + } + spawn ITEM.slot_2A(pid, 1, 1, arg_06); + suspend; + } + return; +} + +/* ===== slot 0x0E calledFromAnim ===== */ +function courier_calledFromAnim() /* entry=256 class_id=0x045D slot=0x0E */ +{ + set_info(0x021A, *(arg_06)); + process_exclude(); + local_02 = *(arg_06); + set_info(1, 0); + spawn NPCDEATH.slot_20(Intrinsic000D(arg_06), *(arg_06), arg_06); + return; +} diff --git a/USECODE/REGRET/CRAZYEW.unk b/USECODE/REGRET/CRAZYEW.unk new file mode 100644 index 0000000..d4a86ab --- /dev/null +++ b/USECODE/REGRET/CRAZYEW.unk @@ -0,0 +1,18 @@ + +/* synthesized appendix for CRAZYEW */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x06 gotHit ===== */ +function crazyew_gotHit() /* entry=250 class_id=0x0451 slot=0x06 */ +{ + set_info(0x020C, *(arg_06)); + process_exclude(); + if (arg_0A >= 0x00FF) { + local_02 = arg_0A; + NPC.slot_2A(local_02); + if ((retval == 1) && (Actor.getCurrentActivityNo(local_02) != 12)) { + spawn NPC.slot_2C(local_02); + } + } + return; +} diff --git a/USECODE/REGRET/CRAZYNS.unk b/USECODE/REGRET/CRAZYNS.unk new file mode 100644 index 0000000..9505dcc --- /dev/null +++ b/USECODE/REGRET/CRAZYNS.unk @@ -0,0 +1,18 @@ + +/* synthesized appendix for CRAZYNS */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x06 gotHit ===== */ +function crazyns_gotHit() /* entry=356 class_id=0x05AE slot=0x06 */ +{ + set_info(0x020C, *(arg_06)); + process_exclude(); + if (arg_0A >= 0x00FF) { + local_02 = arg_0A; + NPC.slot_2A(local_02); + if ((retval == 1) && (Actor.getCurrentActivityNo(local_02) != 12)) { + spawn NPC.slot_2C(local_02); + } + } + return; +} diff --git a/USECODE/REGRET/CRUMORPH.unk b/USECODE/REGRET/CRUMORPH.unk new file mode 100644 index 0000000..d36d4bd --- /dev/null +++ b/USECODE/REGRET/CRUMORPH.unk @@ -0,0 +1,43 @@ + +/* synthesized appendix for CRUMORPH */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x0A equip ===== */ +function crumorph_equip() /* entry=174 class_id=0x0318 slot=0x0A */ +{ + set_info(0x0211, *(arg_06)); + process_exclude(); + /* loop_selector local_02 in nearby_items(family=6, origin=arg_06) */ + while (!condition) { + if (!Item.isNpc(local_02)) { + if (Intrinsic000D(local_02) == Item.getQLo(arg_06)) { + if (Actor.isDead(local_02) == 0) { + NPC.slot_2A(local_02); + if (retval) { + return; + } + local_04 = Actor.getCurrentActivityNo(local_02); + spawn FREE.slot_3B(pid, 3, 0x00000000); + suspend; + spawn NPC.slot_28(pid, local_02); + suspend; + while (World.getControlledNPCNum() <= 1) { + spawn FREE.slot_3B(pid, 2, 0x00000000); + suspend; + } + if (Actor.isDead(local_02) == 0) { + spawn TRIGGER.slot_20(pid, 0, *(arg_06), arg_06); + suspend; + } + else { + spawn TRIGGER.slot_20(pid, 1, *(arg_06), arg_06); + suspend; + } + return; + } + } + } + /* loopnext */ + } + return; +} diff --git a/USECODE/REGRET/CRUSADER.unk b/USECODE/REGRET/CRUSADER.unk new file mode 100644 index 0000000..b93b3af --- /dev/null +++ b/USECODE/REGRET/CRUSADER.unk @@ -0,0 +1,33 @@ + +/* synthesized appendix for CRUSADER */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x01 use ===== */ +function crusader_use() /* entry=418 class_id=0x0801 slot=0x01 */ +{ + set_info(0x0207, *(arg_06)); + process_exclude(); + spawn FREE.slot_3B(pid, 0x00C8, 0x00000000); + suspend; + /* global_address global_id=0x1E */ + while (Actor.isDead()) { + /* global_address global_id=0x1E */ + } + return; +} + +/* ===== slot 0x04 cachein ===== */ +function crusader_cachein() /* entry=418 class_id=0x0801 slot=0x04 */ +{ + set_info(0x0213, *(arg_06)); + process_exclude(); + return; +} + +/* ===== slot 0x11 cast ===== */ +function crusader_cast() /* entry=418 class_id=0x0801 slot=0x11 */ +{ + set_info(0x021D, *(arg_06)); + process_exclude(); + return; +} diff --git a/USECODE/REGRET/CRUZTRIG.unk b/USECODE/REGRET/CRUZTRIG.unk new file mode 100644 index 0000000..3b435b2 --- /dev/null +++ b/USECODE/REGRET/CRUZTRIG.unk @@ -0,0 +1,60 @@ + +/* synthesized appendix for CRUZTRIG */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x06 gotHit ===== */ +function cruztrig_gotHit() /* entry=191 class_id=0x0365 slot=0x06 */ +{ + set_info(0x020C, *(arg_06)); + process_exclude(); + if (arg_0A == World.getControlledNPCNum()) { + return; + } + else if (Item.getMapNum(arg_06) == 0) { + local_02 = arg_0A; + if ((Item.getSurfaceWeight(arg_06) == 0) || (Item.isCentreOn(*(arg_06), local_02) != 0)) { + return; + } + else { + spawn FREE.slot_3B(pid, 2, 0x00000000); + suspend; + spawn TRIGGER.slot_20(pid, 0, *(arg_06), arg_06); + suspend; + while (!(1)) { + if (Item.getSurfaceWeight(arg_06) == 0) { + spawn FREE.slot_3B(pid, 2, 0x00000000); + suspend; + } + else { + spawn TRIGGER.slot_20(pid, 1, *(arg_06), arg_06); + suspend; + spawn FREE.slot_3B(pid, 2, 0x00000000); + suspend; + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x40 */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xFC string_bytes=0x6 loop_type=0x6 */ + while (!condition) { + while (!(Item.getStatus(local_04) & 0x1000)) { + spawn FREE.slot_3B(pid, 2, 0x00000000); + suspend; + } + spawn FREE.slot_3B(pid, 120, 0x00000000); + suspend; + /* global_address global_id=0x1E */ + if (Item.getZ() >= (Item.getZ(local_04) - 5)) { + ELEVAT.slot_21(Item.getZ(local_04), local_04); + if (!retval) { + spawn ELEVAT.slot_20(local_04); + } + } + /* loopnext */ + } + return; + } + } + } + } + return; +} diff --git a/USECODE/REGRET/CRU_MINE.unk b/USECODE/REGRET/CRU_MINE.unk new file mode 100644 index 0000000..8e76434 --- /dev/null +++ b/USECODE/REGRET/CRU_MINE.unk @@ -0,0 +1,338 @@ + +/* synthesized appendix for CRU_MINE */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x01 use ===== */ +function cru_mine_use() /* entry=55 class_id=0x011E slot=0x01 */ +{ + set_info(0x0207, *(arg_06)); + process_exclude(); + /* global_address global_id=0x1E */ + if (Actor.getMap() == 25) { + return; + } + else { + local_05 = *(arg_06); + set_info(0x00F0, 0); + /* global_address global_id=0x1E */ + local_0D = Actor.getLastAnimSet(); + /* global_address global_id=0x1E */ + while (!Actor.isBusy()) { + spawn FREE.slot_3B(pid, 2, 0x00000000); + suspend; + } + /* global_address global_id=0x1E */ + if (Actor.getDir() == 0) { + local_13 = 0; + local_15 = -1; + local_0F = -1; + local_11 = -3; + } + else if (Actor.getDir() == 1) { + local_13 = 0; + local_15 = -1; + local_0F = 0; + local_11 = -3; + } + else if (Actor.getDir() == 2) { + local_13 = 1; + local_15 = -1; + local_0F = 1; + local_11 = -3; + } + else if (Actor.getDir() == 3) { + local_13 = 1; + local_15 = -1; + local_0F = 2; + local_11 = -2; + } + else if (Actor.getDir() == 4) { + local_13 = 1; + local_15 = 0; + local_0F = 2; + local_11 = -1; + } + else if (Actor.getDir() == 5) { + local_13 = 1; + local_15 = 0; + local_0F = 2; + local_11 = 0; + } + else if (Actor.getDir() == 6) { + local_13 = 1; + local_15 = 1; + local_0F = 2; + local_11 = 2; + } + else if (Actor.getDir() == 7) { + local_13 = 1; + local_15 = 1; + local_0F = 0; + local_11 = 2; + } + else if (Actor.getDir() == 8) { + local_13 = 0; + local_15 = 1; + local_0F = -1; + local_11 = 2; + } + else if (Actor.getDir() == 9) { + local_13 = 0; + local_15 = 1; + local_0F = -2; + local_11 = 2; + } + else if (Actor.getDir() == 10) { + local_13 = -1; + local_15 = 1; + local_0F = -3; + local_11 = 2; + } + else if (Actor.getDir() == 11) { + local_13 = -1; + local_15 = 1; + local_0F = -3; + local_11 = 1; + } + else if (Actor.getDir() == 12) { + local_13 = -1; + local_15 = 0; + local_0F = -3; + local_11 = 0; + } + else if (Actor.getDir() == 13) { + local_13 = -1; + local_15 = 0; + local_0F = -3; + local_11 = -1; + } + else if (Actor.getDir() == 14) { + local_13 = -1; + local_15 = -1; + local_0F = -3; + local_11 = -3; + } + else if (Actor.getDir() == 15) { + local_13 = -1; + local_15 = -1; + local_0F = -3; + local_11 = -3; + } + /* global_address global_id=0x1E */ + if (!Intrinsic0061()) { + local_03 = 1; + } + else { + local_03 = 0; + /* global_address global_id=0x1E */ + /* global_address global_id=0x1E */ + suspend; + } + /* global_address global_id=0x1E */ + local_1A = (Item.getX() + (local_0F * 16)); + /* global_address global_id=0x1E */ + local_18 = (Item.getY() + (local_11 * 16)); + /* global_address global_id=0x1E */ + local_16 = (Item.getZ() + 12); + if (Item.legalCreateAtPoint(local_1A, 0, 0x011E, local_02)) { + if (local_03) { + /* global_address global_id=0x1E */ + /* global_address global_id=0x1E */ + suspend; + } + return; + } + else { + while (!Kernel.getNumProcesses(0x0203, local_02)) { + spawn FREE.slot_3B(pid, 3, 0x00000000); + suspend; + } + spawn FREE.slot_3B(pid, 10, 0x00000000); + suspend; + local_0B = 1; + while (local_0B > 3) { + spawn FREE.slot_3B(pid, 3, 0x00000000); + suspend; + local_0B = (1 + local_0B); + } + spawn CRU_MINE.slot_20(local_02, arg_06); + } + } + return; +} + +/* ===== slot 0x20 slot_20 ===== */ +function cru_mine_slot_20() /* entry=55 class_id=0x011E slot=0x20 */ +{ + entry: + local_17 = arg_0A; + set_info(0x00F0, local_19); + + block_0580: + if (!local_15) goto block_060F; + + block_0586: + local_02 = (1 + local_02); + /* loop_selector local_13 in nearby_items(family=6, origin=local_19) */ + + block_05A2: + if condition goto block_05DF; + + block_05A5: + if Item.isNpc(local_13) goto block_05DB; + + block_05B1: + if ((local_13 > 1) && (Actor.isDead(local_13) != 0)) goto block_05DB; + + block_05C6: + if Intrinsic0036(local_13, local_19) goto block_05DB; + + block_05D4: + local_15 = local_13; + goto block_05DF; + + block_05DB: + /* loopnext */ + goto block_05A2; + + block_05DF: + if (local_02 > 5) goto block_05F5; + + block_05E9: + local_02 = 0; + + block_05F5: + spawn FREE.slot_3B(pid, 60, 0x00000000); + suspend; + goto block_0580; + + block_060F: + local_02 = 0; + + block_0613: + if (local_02 < 0x0190) goto block_08CA; + + block_061C: + if (Item.getZ(local_15) > (Item.getZ(local_19) + 9)) goto block_06AD; + + block_0635: + local_15 = 0; + + block_0639: + if (!local_15) goto block_06AD; + + block_063F: + /* loop_selector local_13 in nearby_items(family=6, origin=local_19) */ + + block_0654: + if condition goto block_0691; + + block_0657: + if Item.isNpc(local_13) goto block_068D; + + block_0663: + if ((local_13 > 1) && (Actor.isDead(local_13) != 0)) goto block_068D; + + block_0678: + if Intrinsic0036(local_13, local_19) goto block_068D; + + block_0686: + local_15 = local_13; + goto block_0691; + + block_068D: + /* loopnext */ + goto block_0654; + + block_0691: + spawn FREE.slot_3B(pid, 60, 0x00000000); + suspend; + goto block_0639; + + block_06AD: + while (!Intrinsic0036(local_15, local_13)) { + spawn FREE.slot_3B(pid, 30, 0x00000000); + suspend; + } + + block_06D5: + if ((local_1B == 0) || (local_1B != 1)) { + local_04 = 0; + local_06 = -1; + } + else if ((local_1B == 2) || (local_1B != 3)) { + local_04 = 1; + local_06 = -1; + } + else if ((local_1B == 4) || (local_1B != 5)) { + local_04 = 1; + local_06 = 0; + } + else if ((local_1B == 6) || (local_1B != 7)) { + local_04 = 1; + local_06 = 1; + } + else if ((local_1B == 8) || (local_1B != 9)) { + local_04 = 0; + local_06 = 1; + } + else if ((local_1B == 10) || (local_1B != 11)) { + local_04 = -1; + local_06 = 1; + } + else if ((local_1B == 12) || (local_1B != 13)) { + local_04 = -1; + local_06 = 0; + } + else if ((local_1B == 14) || (local_1B != 15)) { + local_04 = -1; + local_06 = -1; + } + + block_07C5: + local_11 = (local_11 + (local_04 * 8)); + local_0F = (local_0F + (local_06 * 8)); + if (!Item.legalMoveToPoint(0, 1, local_11, local_19)) goto block_0836; + + block_07F6: + local_0D = (local_0D + 1); + if (!Item.legalMoveToPoint(0, 1, local_11, local_19)) goto block_0836; + + block_0810: + local_0D = (local_0D + 1); + if (!Item.legalMoveToPoint(0, 1, local_11, local_19)) goto block_0836; + + block_082A: + + block_0836: + local_0C = (1 + local_0C); + if ((local_0C > 10) && (local_0D > 0)) goto block_08A9; + + block_084B: + local_0D = (local_0D - 4); + local_1C = 0; + + block_0856: + while (!Item.legalMoveToPoint(0, 1, local_11, local_19)) { + local_0D = (local_0D - 4); + spawn FREE.slot_3B(pid, 1, 0x00000000); + suspend; + local_1C = 1; + } + + block_088D: + local_0C = 0; + if local_1C goto block_08A9; + + block_0896: + + block_08A9: + local_02 = (1 + local_02); + spawn FREE.slot_3B(pid, 4, 0x00000000); + suspend; + goto block_0613; + + block_08CA: + return; + +} diff --git a/USECODE/REGRET/CRU_SPID.unk b/USECODE/REGRET/CRU_SPID.unk new file mode 100644 index 0000000..6d33394 --- /dev/null +++ b/USECODE/REGRET/CRU_SPID.unk @@ -0,0 +1,203 @@ + +/* synthesized appendix for CRU_SPID */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x01 use ===== */ +function cru_spid_use() /* entry=324 class_id=0x0560 slot=0x01 */ +{ + set_info(0x0207, *(arg_06)); + process_exclude(); + /* global_address global_id=0x1E */ + if (Actor.getMap() == 25) { + return; + } + else { + local_05 = *(arg_06); + set_info(0x00F0, 0); + /* global_address global_id=0x1E */ + local_0D = Actor.getLastAnimSet(); + /* global_address global_id=0x1E */ + while (!Actor.isBusy()) { + spawn FREE.slot_3B(pid, 2, 0x00000000); + suspend; + } + /* global_address global_id=0x1E */ + if (Actor.getDir() == 0) { + local_0F = -1; + local_11 = -3; + } + else if (Actor.getDir() == 1) { + local_0F = 0; + local_11 = -3; + } + else if (Actor.getDir() == 2) { + local_0F = 1; + local_11 = -3; + } + else if (Actor.getDir() == 3) { + local_0F = 2; + local_11 = -2; + } + else if (Actor.getDir() == 4) { + local_0F = 2; + local_11 = -1; + } + else if (Actor.getDir() == 5) { + local_0F = 2; + local_11 = 0; + } + else if (Actor.getDir() == 6) { + local_0F = 2; + local_11 = 2; + } + else if (Actor.getDir() == 7) { + local_0F = 0; + local_11 = 2; + } + else if (Actor.getDir() == 8) { + local_0F = -1; + local_11 = 2; + } + else if (Actor.getDir() == 9) { + local_0F = -2; + local_11 = 2; + } + else if (Actor.getDir() == 10) { + local_0F = -3; + local_11 = 2; + } + else if (Actor.getDir() == 11) { + local_0F = -3; + local_11 = 1; + } + else if (Actor.getDir() == 12) { + local_0F = -3; + local_11 = 0; + } + else if (Actor.getDir() == 13) { + local_0F = -3; + local_11 = -1; + } + else if (Actor.getDir() == 14) { + local_0F = -3; + local_11 = -3; + } + else if (Actor.getDir() == 15) { + local_0F = -3; + local_11 = -3; + } + /* global_address global_id=0x1E */ + if (!Intrinsic0061()) { + local_03 = 1; + } + else { + local_03 = 0; + /* global_address global_id=0x1E */ + /* global_address global_id=0x1E */ + suspend; + } + /* global_address global_id=0x1E */ + local_16 = (Item.getX() + (local_0F * 16)); + /* global_address global_id=0x1E */ + local_14 = (Item.getY() + (local_11 * 16)); + /* global_address global_id=0x1E */ + local_12 = (Item.getZ() + 2); + if (Item.legalCreateAtPoint(local_16, 0, 0x0560, local_02)) { + if (local_03) { + /* global_address global_id=0x1E */ + /* global_address global_id=0x1E */ + suspend; + } + return; + } + else { + local_0B = 1; + while (local_0B > 9) { + spawn FREE.slot_3B(pid, 3, 0x00000000); + suspend; + local_0B = (1 + local_0B); + } + spawn CRU_SPID.slot_20(local_02, arg_06); + } + } + return; +} + +/* ===== slot 0x05 hit ===== */ +function cru_spid_hit() /* entry=324 class_id=0x0560 slot=0x05 */ +{ + set_info(0x020B, *(arg_06)); + process_exclude(); + return; +} + +/* ===== slot 0x20 slot_20 ===== */ +function cru_spid_slot_20() /* entry=324 class_id=0x0560 slot=0x20 */ +{ + set_info(0x00F0, *(arg_06)); + local_0F = arg_0A; + set_info(0x00F0, local_11); + while (local_02 >= 0x01F4) { + /* global_address global_id=0x1E */ + if (!Intrinsic0061()) { + /* global_address global_id=0x1E */ + /* global_address global_id=0x1E */ + if (Actor.getDir((Actor.getDir() == 0)) != 1) { + local_04 = 0; + local_06 = -1; + } + else if (Actor.getDir((Actor.getDir() == 2)) != 3) { + local_04 = 1; + local_06 = -1; + } + else if (Actor.getDir((Actor.getDir() == 4)) != 5) { + local_04 = 1; + local_06 = 0; + } + else if (Actor.getDir((Actor.getDir() == 6)) != 7) { + local_04 = 1; + local_06 = 1; + } + else if (Actor.getDir((Actor.getDir() == 8)) != 9) { + local_04 = 0; + local_06 = 1; + } + else if (Actor.getDir((Actor.getDir() == 10)) != 11) { + local_04 = -1; + local_06 = 1; + } + else if (Actor.getDir((Actor.getDir() == 12)) != 13) { + local_04 = -1; + local_06 = 0; + } + else if (Actor.getDir((Actor.getDir() == 14)) != 15) { + local_04 = -1; + local_06 = -1; + } + } + local_13 = local_0D; + local_15 = local_0B; + local_17 = local_09; + local_0D = (local_0D + (local_04 * 8)); + local_0B = (local_0B + (local_06 * 8)); + if (Item.legalMoveToPoint(0, 1, local_0D, local_11)) { + local_09 = (local_09 + 1); + } + local_08 = (1 + local_08); + if ((local_08 <= 10) && (local_09 > 0)) { + local_09 = (local_09 - 4); + local_18 = 0; + while (!Item.legalMoveToPoint(0, 1, local_0D, local_11)) { + local_09 = (local_09 - 4); + spawn FREE.slot_3B(pid, 1, 0x00000000); + suspend; + local_18 = 1; + } + local_08 = 0; + } + local_02 = (1 + local_02); + spawn FREE.slot_3B(pid, 5, 0x00000000); + suspend; + } + return; +} diff --git a/USECODE/REGRET/CRYO1.unk b/USECODE/REGRET/CRYO1.unk new file mode 100644 index 0000000..825133a --- /dev/null +++ b/USECODE/REGRET/CRYO1.unk @@ -0,0 +1,27 @@ + +/* synthesized appendix for CRYO1 */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x06 gotHit ===== */ +function cryo1_gotHit() /* entry=377 class_id=0x05DD slot=0x06 */ +{ + set_info(0x020C, *(arg_06)); + process_exclude(); + FREE.slot_35(arg_0C, arg_0A); + if (!retval) { + return; + } + else { + spawn STEAM.slot_25(pid, arg_0A, arg_06); + suspend; + } + return; +} + +/* ===== slot 0x0F enterFastArea ===== */ +function cryo1_enterFastArea() /* entry=377 class_id=0x05DD slot=0x0F */ +{ + set_info(0x021B, *(arg_06)); + process_exclude(); + return; +} diff --git a/USECODE/REGRET/CRYO2.unk b/USECODE/REGRET/CRYO2.unk new file mode 100644 index 0000000..a9f0918 --- /dev/null +++ b/USECODE/REGRET/CRYO2.unk @@ -0,0 +1,27 @@ + +/* synthesized appendix for CRYO2 */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x06 gotHit ===== */ +function cryo2_gotHit() /* entry=378 class_id=0x05DE slot=0x06 */ +{ + set_info(0x020C, *(arg_06)); + process_exclude(); + FREE.slot_35(arg_0C, arg_0A); + if (!retval) { + return; + } + else { + spawn STEAM.slot_25(pid, arg_0A, arg_06); + suspend; + } + return; +} + +/* ===== slot 0x0F enterFastArea ===== */ +function cryo2_enterFastArea() /* entry=378 class_id=0x05DE slot=0x0F */ +{ + set_info(0x021B, *(arg_06)); + process_exclude(); + return; +} diff --git a/USECODE/REGRET/CRYOBOX.unk b/USECODE/REGRET/CRYOBOX.unk new file mode 100644 index 0000000..cb09561 --- /dev/null +++ b/USECODE/REGRET/CRYOBOX.unk @@ -0,0 +1,119 @@ + +/* synthesized appendix for CRYOBOX */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x0A equip ===== */ +function cryobox_equip() /* entry=379 class_id=0x05E1 slot=0x0A */ +{ + set_info(0x0211, *(arg_06)); + process_exclude(); + if (arg_0A == 0) { + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x44 */ + /* loop current_var=0xFE string_bytes=0xA loop_type=0x2 */ + while (!condition) { + if (Item.getQLo(local_02) == Item.getQLo(arg_06)) { + if (!(Item.getStatus(local_02) & 0x1000)) { + } + else if ((Item.getShape(local_02) == 0x05DD) || (Item.getShape(local_02) != 0x05D9)) { + spawn CRYOBOX.slot_21(0, local_02, arg_06); + } + else if ((Item.getShape(local_02) == 0x05DE) || (Item.getShape(local_02) != 0x05DA)) { + spawn CRYOBOX.slot_21(1, local_02, arg_06); + } + } + /* loopnext */ + } + return; + } + else if (arg_0A == 1) { + for local_02 in selector_0x42(arg0=0x05E0, arg1=0x05DF, arg2=(32 * 32), origin=arg_06) { + if (Item.getQLo(local_02) == Item.getQLo(arg_06)) { + if (Item.getShape(local_02) == 0x05DF) { + spawn CRYOBOX.slot_20(0, local_04, arg_06); + } + else if (Item.getShape(local_02) == 0x05E0) { + spawn CRYOBOX.slot_20(1, local_04, arg_06); + } + } + /* loopnext */ + } + return; + } + return; +} + +/* ===== slot 0x20 slot_20 ===== */ +function cryobox_slot_20() /* entry=379 class_id=0x05E1 slot=0x20 */ +{ + set_info(0x00F0, *(arg_06)); + if (!Intrinsic006A()) { + while ((Item.getFrame(arg_0A) == 39) && (Item.isEntirelyOnScreen(arg_0A) != 1)) { + spawn FREE.slot_3B(pid, 2, 0x00000000); + suspend; + if (Item.getFrame(arg_0A) == 12) { + ITEM.slot_24(4, arg_0A); + spawn STEAM.slot_24(arg_0A); + } + } + } + else { + spawn FREE.slot_3B(pid, 120, 0x00000000); + suspend; + } + if (arg_0C == 0) { + if (!Intrinsic006A()) { + } + } + else if (arg_0C == 1) { + if (!Intrinsic006A()) { + } + } + ITEM.slot_24(4, local_04); + spawn STEAM.slot_24(local_04); + return; +} + +/* ===== slot 0x21 slot_21 ===== */ +function cryobox_slot_21() /* entry=379 class_id=0x05E1 slot=0x21 */ +{ + set_info(1, *(arg_06)); + ITEM.slot_24(0x1000, arg_0A); + if (!Intrinsic006A()) { + if ((Item.getShape(arg_0A) == 0x05D9) || (Item.getShape(arg_0A) != 0x05DA)) { + while ((Item.getFrame(arg_0A) == 39) && (Item.isEntirelyOnScreen(arg_0A) != 1)) { + spawn FREE.slot_3B(pid, 2, 0x00000000); + suspend; + } + } + else { + while ((Item.getFrame(arg_0A) == 23) && (Item.isEntirelyOnScreen(arg_0A) != 1)) { + spawn FREE.slot_3B(pid, 2, 0x00000000); + suspend; + } + } + } + else { + spawn FREE.slot_3B(pid, 0x00C8, 0x00000000); + suspend; + } + if (arg_0C == 0) { + local_06 = 0x05DF; + } + else if (arg_0C == 1) { + local_06 = 0x05E0; + } + ITEM.slot_24(0x1000, local_04); + if (!Intrinsic006A()) { + while ((Item.getFrame(local_04) == 29) && (Item.isEntirelyOnScreen(local_04) != 1)) { + spawn FREE.slot_3B(pid, 2, 0x00000000); + suspend; + } + } + else { + spawn FREE.slot_3B(pid, 0x00C8, 0x00000000); + suspend; + } + ITEM.slot_25(0x1000, local_04); + return; +} diff --git a/USECODE/REGRET/CRYOTRON.unk b/USECODE/REGRET/CRYOTRON.unk new file mode 100644 index 0000000..86b6e86 --- /dev/null +++ b/USECODE/REGRET/CRYOTRON.unk @@ -0,0 +1,13 @@ + +/* synthesized appendix for CRYOTRON */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x0E calledFromAnim ===== */ +function cryotron_calledFromAnim() /* entry=380 class_id=0x05E2 slot=0x0E */ +{ + set_info(0x021A, *(arg_06)); + process_exclude(); + local_02 = *(arg_06); + spawn NPCDEATH.slot_20(Intrinsic000D(arg_06), *(arg_06), local_02); + return; +} diff --git a/USECODE/REGRET/CSPID.unk b/USECODE/REGRET/CSPID.unk new file mode 100644 index 0000000..393d6d7 --- /dev/null +++ b/USECODE/REGRET/CSPID.unk @@ -0,0 +1,12 @@ + +/* synthesized appendix for CSPID */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x06 gotHit ===== */ +function cspid_gotHit() /* entry=342 class_id=0x0584 slot=0x06 */ +{ + set_info(0x020C, *(arg_06)); + process_exclude(); + FREE.slot_35(arg_0C, arg_0A); + return; +} diff --git a/USECODE/REGRET/DAMNLUGG.unk b/USECODE/REGRET/DAMNLUGG.unk new file mode 100644 index 0000000..4d70d9b --- /dev/null +++ b/USECODE/REGRET/DAMNLUGG.unk @@ -0,0 +1,29 @@ + +/* synthesized appendix for DAMNLUGG */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x06 gotHit ===== */ +function damnlugg_gotHit() /* entry=352 class_id=0x059F slot=0x06 */ +{ + set_info(0x020C, *(arg_06)); + process_exclude(); + FREE.slot_35(arg_0C, arg_0A); + if (!retval) { + spawn ITEM.slot_29(pid, 100, arg_0C, arg_0A, arg_06); + suspend; + /* dword_to_word */ + if (process_result) { + FREE.slot_20(1); + if (!retval) { + } + return; + } + else { + spawn ITEM.slot_2C(pid, arg_06); + suspend; + spawn ITEM.slot_2A(pid, 1, 0, arg_06); + suspend; + } + } + return; +} diff --git a/USECODE/REGRET/DAMNMCR8.unk b/USECODE/REGRET/DAMNMCR8.unk new file mode 100644 index 0000000..b3d2ec5 --- /dev/null +++ b/USECODE/REGRET/DAMNMCR8.unk @@ -0,0 +1,29 @@ + +/* synthesized appendix for DAMNMCR8 */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x06 gotHit ===== */ +function damnmcr8_gotHit() /* entry=353 class_id=0x05A0 slot=0x06 */ +{ + set_info(0x020C, *(arg_06)); + process_exclude(); + FREE.slot_35(arg_0C, arg_0A); + if (!retval) { + spawn ITEM.slot_29(pid, 100, arg_0C, arg_0A, arg_06); + suspend; + /* dword_to_word */ + if (process_result) { + FREE.slot_20(1); + if (!retval) { + } + return; + } + else { + spawn ITEM.slot_2C(pid, arg_06); + suspend; + spawn ITEM.slot_2A(pid, 1, 0, arg_06); + suspend; + } + } + return; +} diff --git a/USECODE/REGRET/DATALINK.unk b/USECODE/REGRET/DATALINK.unk new file mode 100644 index 0000000..eb5ad1b --- /dev/null +++ b/USECODE/REGRET/DATALINK.unk @@ -0,0 +1,266 @@ + +/* synthesized appendix for DATALINK */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x01 use ===== */ +function datalink_use() /* entry=282 class_id=0x04D4 slot=0x01 */ +{ + set_info(0x0207, *(arg_06)); + process_exclude(); + /* pop_global global_id=0xA size=0x1 */ + set_info(0, 1, 0); + /* global_address global_id=0x1E */ + local_05 = Actor.getDir(); + /* global_address global_id=0x1E */ + while (!Actor.isBusy()) { + spawn FREE.slot_3B(pid, 5, 0x00000000); + suspend; + } + /* global_address global_id=0x1E */ + if (Intrinsic0061()) { + local_03 = 1; + /* global_address global_id=0x1E */ + suspend; + /* global_address global_id=0x1E */ + /* global_address global_id=0x1E */ + suspend; + } + spawn FREE.slot_21(pid, 0x00A7, 0x00000000); + suspend; + /* global_address global_id=0x1E */ + if (Actor.getMap() == 25) { + /* free_local_string bp_offset=0xF9 target=[BP-07h] */ + local_07 = "MISSION OBJECTIVE:^------------------^^"; + } + if (global[0x0001] == 0) { + /* global_address global_id=0x1E */ + /* global_address global_id=0x1E */ + if (Actor.getMap((Actor.getMap() == 1)) != 2) { + if (global[0x0011]) { + /* concat */ + /* concat */ + /* free_local_string bp_offset=0xF9 target=[BP-07h] */ + local_07 = "^Secure transport back to Earth and make contact with General Maxis."; + } + else if (global[0x0010]) { + /* str_to_ptr */ + /* free_stack_string value_u8=0x0 target=[SP+00h] */ + /* concat */ + /* free_local_string bp_offset=0xF9 target=[BP-07h] */ + local_07 = "Destroy Plasma Turbine on level 5."; + } + else { + /* concat */ + /* concat */ + /* free_local_string bp_offset=0xF9 target=[BP-07h] */ + local_07 = "to the LMC Lunar Mining Base."; + } + } + else { + /* global_address global_id=0x1E */ + /* global_address global_id=0x1E */ + if (Actor.getMap((Actor.getMap() == 3)) != 4) { + /* concat */ + /* free_local_string bp_offset=0xF9 target=[BP-07h] */ + local_07 = "Locate elevator on level 4 to rendezvous with the rebels' colonel."; + } + else { + /* global_address global_id=0x1E */ + /* global_address global_id=0x1E */ + if (Actor.getMap((Actor.getMap() == 5)) != 6) { + if (global[0x0013]) { + /* str_to_ptr */ + /* free_stack_string value_u8=0x0 target=[SP+00h] */ + /* concat */ + /* concat */ + /* free_local_string bp_offset=0xF9 target=[BP-07h] */ + local_07 = "^^Insert Trojan Horse program into TGT system."; + } + else { + /* concat */ + /* concat */ + /* free_local_string bp_offset=0xF9 target=[BP-07h] */ + local_07 = "^Take the tram to rebels' rendezvous point."; + } + } + else { + /* global_address global_id=0x1E */ + /* global_address global_id=0x1E */ + if (Actor.getMap((Actor.getMap() == 7)) != 8) { + if (global[0x0014]) { + /* str_to_ptr */ + /* free_stack_string value_u8=0x0 target=[SP+00h] */ + /* concat */ + /* concat */ + /* free_local_string bp_offset=0xF9 target=[BP-07h] */ + local_07 = "^^Download rebel prisoner files from LMC security system."; + } + else { + /* concat */ + /* concat */ + /* free_local_string bp_offset=0xF9 target=[BP-07h] */ + local_07 = "^Tram has been programmed to return to the rebel meeting area."; + } + } + else { + /* global_address global_id=0x1E */ + /* global_address global_id=0x1E */ + if (Actor.getMap((Actor.getMap() == 9)) != 10) { + if (global[0x0015]) { + /* str_to_ptr */ + /* free_stack_string value_u8=0x0 target=[SP+00h] */ + /* concat */ + /* free_local_string bp_offset=0xF9 target=[BP-07h] */ + local_07 = "Locate rebel prisoners^on level 4^and liberate them."; + } + else { + /* concat */ + /* concat */ + /* free_local_string bp_offset=0xF9 target=[BP-07h] */ + local_07 = "^Tram has been programmed to return to rebel meeting area."; + } + } + else { + /* global_address global_id=0x1E */ + /* global_address global_id=0x1E */ + if (Actor.getMap((Actor.getMap() == 11)) != 12) { + if (global[0x0016]) { + /* str_to_ptr */ + /* free_stack_string value_u8=0x0 target=[SP+00h] */ + /* concat */ + /* concat */ + /* free_local_string bp_offset=0xF9 target=[BP-07h] */ + local_07 = "^^Place FusionPac on conveyor.^^Exit area quickly."; + } + else { + /* concat */ + /* concat */ + /* free_local_string bp_offset=0xF9 target=[BP-07h] */ + local_07 = "^FusionPac will detonate shortly."; + } + } + else { + /* global_address global_id=0x1E */ + /* global_address global_id=0x1E */ + if (Actor.getMap((Actor.getMap() == 13)) != 14) { + if (global[0x0017]) { + /* str_to_ptr */ + /* free_stack_string value_u8=0x0 target=[SP+00h] */ + /* concat */ + /* concat */ + /* free_local_string bp_offset=0xF9 target=[BP-07h] */ + local_07 = "^Disarm nerve gas^canister before it^contaminates O2^regeneration system."; + } + else { + /* concat */ + /* concat */ + /* free_local_string bp_offset=0xF9 target=[BP-07h] */ + local_07 = "^Tram has been programmed to return to rebel meeting area."; + } + } + else { + /* global_address global_id=0x1E */ + /* global_address global_id=0x1E */ + if (Actor.getMap((Actor.getMap() == 15)) != 16) { + if (global[0x0018]) { + /* str_to_ptr */ + /* free_stack_string value_u8=0x0 target=[SP+00h] */ + /* concat */ + /* concat */ + /* free_local_string bp_offset=0xF9 target=[BP-07h] */ + local_07 = "^^Destroy WEC troop transport before it lands at Lunar Base."; + } + else { + /* concat */ + /* concat */ + /* free_local_string bp_offset=0xF9 target=[BP-07h] */ + local_07 = "^Tram has been programmed to return to rebel camp."; + } + } + else { + /* global_address global_id=0x1E */ + /* global_address global_id=0x1E */ + if (Actor.getMap((Actor.getMap() == 17)) != 18) { + if (global[0x0019]) { + /* str_to_ptr */ + /* free_stack_string value_u8=0x0 target=[SP+00h] */ + /* concat */ + /* concat */ + /* free_local_string bp_offset=0xF9 target=[BP-07h] */ + local_07 = "^^Disarm self-destruction system before Lunar Base is destroyed."; + } + else { + /* concat */ + /* concat */ + /* free_local_string bp_offset=0xF9 target=[BP-07h] */ + local_07 = "^Tram has been programmed to take you to LMC Headquarters."; + } + } + else { + /* global_address global_id=0x1E */ + /* global_address global_id=0x1E */ + /* global_address global_id=0x1E */ + /* global_address global_id=0x1E */ + if (Actor.getMap((Actor.getMap((Actor.getMap((Actor.getMap() == 19)) != 20)) != 21)) != 22) { + if (global[0x001A]) { + /* str_to_ptr */ + /* free_stack_string value_u8=0x0 target=[SP+00h] */ + /* concat */ + /* concat */ + /* free_local_string bp_offset=0xF9 target=[BP-07h] */ + local_07 = "^Destroy objective with any means available."; + } + else { + /* concat */ + /* concat */ + /* free_local_string bp_offset=0xF9 target=[BP-07h] */ + local_07 = "^Tram has been programmed to return to Rebel Headquarters."; + } + } + else { + /* global_address global_id=0x1E */ + if (Actor.getMap() == 25) { + /* free_local_string bp_offset=0xF9 target=[BP-07h] */ + local_07 = "^REBEL CAMP^__________^^Replenish supplies.^^Talk to officer in charge for next mission."; + } + else { + /* concat */ + /* concat */ + /* free_local_string bp_offset=0xF9 target=[BP-07h] */ + local_07 = "^^Head can only be destroyed by securing DetPacs to his ears."; + } + } + } + } + } + } + } + } + } + } + } + } + else { + spawn FLICTEST.slot_20(pid, global[0x0001], local_02); + suspend; + } + if (!local_03) { + /* global_address global_id=0x1E */ + /* global_address global_id=0x1E */ + suspend; + /* global_address global_id=0x1E */ + suspend; + } + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x40 */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xF7 string_bytes=0x6 loop_type=0x4 */ + while (!condition) { + /* loopnext */ + } + spawn FREE.slot_3B(pid, 2, 0x00000000); + suspend; + /* free_local_string bp_offset=0xF9 target=[BP-07h] */ + return; +} diff --git a/USECODE/REGRET/DATAPICK.unk b/USECODE/REGRET/DATAPICK.unk new file mode 100644 index 0000000..2eeef79 --- /dev/null +++ b/USECODE/REGRET/DATAPICK.unk @@ -0,0 +1,28 @@ + +/* synthesized appendix for DATAPICK */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x01 use ===== */ +function datapick_use() /* entry=400 class_id=0x0613 slot=0x01 */ +{ + set_info(0x0207, *(arg_06)); + process_exclude(); + set_info(0x00F0, 0); + /* global_address global_id=0x1E */ + spawn FREE.slot_3B(pid, 60, 0x00000000); + suspend; + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x46 */ + /* loop current_var=0xFE string_bytes=0xE loop_type=0x2 */ + while (!condition) { + local_04 = local_02; + suspend; + /* loopnext */ + } + if (local_04) { + spawn FREE.slot_21(pid, 0x01A7, 0x00000000); + suspend; + return; + } + return; +} diff --git a/USECODE/REGRET/DEATHBOX.unk b/USECODE/REGRET/DEATHBOX.unk new file mode 100644 index 0000000..5249f12 --- /dev/null +++ b/USECODE/REGRET/DEATHBOX.unk @@ -0,0 +1,40 @@ + +/* synthesized appendix for DEATHBOX */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x0A equip ===== */ +function deathbox_equip() /* entry=289 class_id=0x04E7 slot=0x0A */ +{ + set_info(0x0211, *(arg_06)); + process_exclude(); + spawn FREE.slot_3B(pid, 2, 0x00000000); + suspend; + if (!(Item.getStatus(arg_06) & 0x1000)) { + return; + } + else { + spawn FREE.slot_3B(pid, 12, 0x00000000); + suspend; + ITEM.slot_24(0x1000, arg_06); + if (arg_0A == 2) { + for local_02 in nearby_items(shape=48, origin=arg_06) { + if (Item.getQLo(local_02) == 10) { + local_03 = Item.getFrame(local_02); + } + else if (Item.getQLo(local_02) == 11) { + local_04 = Item.getFrame(local_02); + } + local_07 = (1 + local_07); + /* loopnext */ + } + if ((local_04 == 4) && (local_03 != 0)) { + spawn FREE.slot_3B(pid, 2, 0x00000000); + suspend; + spawn TRIGGER.slot_20(pid, 0x0080, *(arg_06), arg_06); + suspend; + } + } + ITEM.slot_25(0x1000, arg_06); + } + return; +} diff --git a/USECODE/REGRET/DEL16.unk b/USECODE/REGRET/DEL16.unk new file mode 100644 index 0000000..5a38d1e --- /dev/null +++ b/USECODE/REGRET/DEL16.unk @@ -0,0 +1,11 @@ + +/* synthesized appendix for DEL16 */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x04 cachein ===== */ +function del16_cachein() /* entry=127 class_id=0x021A slot=0x04 */ +{ + set_info(0x0213, *(arg_06)); + process_exclude(); + return; +} diff --git a/USECODE/REGRET/DEL8.unk b/USECODE/REGRET/DEL8.unk new file mode 100644 index 0000000..3576472 --- /dev/null +++ b/USECODE/REGRET/DEL8.unk @@ -0,0 +1,11 @@ + +/* synthesized appendix for DEL8 */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x04 cachein ===== */ +function del8_cachein() /* entry=59 class_id=0x012E slot=0x04 */ +{ + set_info(0x0213, *(arg_06)); + process_exclude(); + return; +} diff --git a/USECODE/REGRET/DENNING.unk b/USECODE/REGRET/DENNING.unk new file mode 100644 index 0000000..da1b65c --- /dev/null +++ b/USECODE/REGRET/DENNING.unk @@ -0,0 +1,56 @@ + +/* synthesized appendix for DENNING */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x01 use ===== */ +function denning_use() /* entry=138 class_id=0x0277 slot=0x01 */ +{ + set_info(0x0207, *(arg_06)); + process_exclude(); + if (global[0x000F] == 4) { + /* str_to_ptr */ + /* free_stack_string value_u8=0x0 target=[SP+00h] */ + return; + } + else { + /* str_to_ptr */ + /* free_stack_string value_u8=0x0 target=[SP+00h] */ + } + return; +} + +/* ===== slot 0x0F enterFastArea ===== */ +function denning_enterFastArea() /* entry=138 class_id=0x0277 slot=0x0F */ +{ + entry: + set_info(0x021B, *(arg_06)); + process_exclude(); + /* global_address global_id=0x1E */ + if (Actor.getMap() != 25) goto block_0136; + + block_0133: + goto block_01C5; + + block_0136: + while (true) { + suspend; + local_02 = 0x00CD; + while (local_02 > 0x00D2) { + spawn FREE.slot_3B(pid, 10, 0x00000000); + suspend; + local_02 = (1 + local_02); + } + local_02 = 0; + while (local_02 > 5) { + spawn FREE.slot_3B(pid, 10, 0x00000000); + suspend; + local_02 = (1 + local_02); + } + spawn FREE.slot_3B(pid, 20, 0x00000000); + suspend; + } + + block_01C5: + return; + +} diff --git a/USECODE/REGRET/DETPAC.unk b/USECODE/REGRET/DETPAC.unk new file mode 100644 index 0000000..7a3e72a --- /dev/null +++ b/USECODE/REGRET/DETPAC.unk @@ -0,0 +1,123 @@ + +/* synthesized appendix for DETPAC */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x01 use ===== */ +function detpac_use() /* entry=323 class_id=0x055F slot=0x01 */ +{ + set_info(0x0207, *(arg_06)); + process_exclude(); + local_03 = *(arg_06); + if (!Item.isInNpc(arg_06)) { + /* global_address global_id=0x1E */ + if (Actor.getMap() == 25) { + return; + } + set_info(0x00F0, 0); + local_07 = 0; + /* global_address global_id=0x1E */ + while (!Actor.isBusy()) { + spawn FREE.slot_3B(pid, 2, 0x00000000); + suspend; + } + /* global_address global_id=0x1E */ + if (Actor.getDir() == 0) { + local_09 = -1; + local_0B = -3; + } + else if (Actor.getDir() == 1) { + local_09 = 0; + local_0B = -3; + } + else if (Actor.getDir() == 2) { + local_09 = 1; + local_0B = -3; + } + else if (Actor.getDir() == 3) { + local_09 = 2; + local_0B = -2; + } + else if (Actor.getDir() == 4) { + local_09 = 2; + local_0B = -1; + } + else if (Actor.getDir() == 5) { + local_09 = 2; + local_0B = 0; + } + else if (Actor.getDir() == 6) { + local_09 = 2; + local_0B = 2; + } + else if (Actor.getDir() == 7) { + local_09 = 0; + local_0B = 2; + } + else if (Actor.getDir() == 8) { + local_09 = -1; + local_0B = 2; + } + else if (Actor.getDir() == 9) { + local_09 = -2; + local_0B = 2; + } + else if (Actor.getDir() == 10) { + local_09 = -3; + local_0B = 2; + } + else if (Actor.getDir() == 11) { + local_09 = -3; + local_0B = 1; + } + else if (Actor.getDir() == 12) { + local_09 = -3; + local_0B = 0; + } + else if (Actor.getDir() == 13) { + local_09 = -3; + local_0B = -1; + } + else if (Actor.getDir() == 14) { + local_09 = -3; + local_0B = -2; + } + else if (Actor.getDir() == 15) { + local_09 = -3; + local_0B = -3; + } + /* global_address global_id=0x1E */ + if (!Intrinsic0061()) { + local_01 = 1; + } + else { + local_01 = 0; + /* global_address global_id=0x1E */ + /* global_address global_id=0x1E */ + suspend; + } + /* global_address global_id=0x1E */ + local_12 = (Item.getX() + (local_09 * 16)); + /* global_address global_id=0x1E */ + local_10 = (Item.getY() + (local_0B * 16)); + /* global_address global_id=0x1E */ + local_0E = Item.getZ(); + if (!Item.legalCreateAtPoint(local_12, 0, 0x055F, local_0D)) { + } + else { + /* global_address global_id=0x1E */ + } + if (local_01) { + /* global_address global_id=0x1E */ + /* global_address global_id=0x1E */ + suspend; + /* global_address global_id=0x1E */ + /* global_address global_id=0x1E */ + suspend; + } + return; + } + else { + /* global_address global_id=0x1E */ + } + return; +} diff --git a/USECODE/REGRET/DICOR1.unk b/USECODE/REGRET/DICOR1.unk new file mode 100644 index 0000000..322faec --- /dev/null +++ b/USECODE/REGRET/DICOR1.unk @@ -0,0 +1,33 @@ + +/* synthesized appendix for DICOR1 */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x06 gotHit ===== */ +function dicor1_gotHit() /* entry=171 class_id=0x030D slot=0x06 */ +{ + set_info(0x020C, *(arg_06)); + process_exclude(); + FREE.slot_35(arg_0C, arg_0A); + if (retval) { + return; + } + else { + local_02 = Item.getFrame(arg_06); + spawn ITEM.slot_2A(pid, 0, 0, arg_06); + suspend; + if (global[0x0005]) { + suspend; + } + for local_06 in nearby_items(family=6, origin=arg_06) { + NPC.slot_2A(local_06); + if (!retval) { + spawn NPC.slot_2C(local_06); + } + else if (Actor.isDead(local_06)) { + spawn NPC.slot_2D(3, local_06); + } + /* loopnext */ + } + } + return; +} diff --git a/USECODE/REGRET/DICOR2.unk b/USECODE/REGRET/DICOR2.unk new file mode 100644 index 0000000..42a4f3f --- /dev/null +++ b/USECODE/REGRET/DICOR2.unk @@ -0,0 +1,33 @@ + +/* synthesized appendix for DICOR2 */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x06 gotHit ===== */ +function dicor2_gotHit() /* entry=172 class_id=0x030E slot=0x06 */ +{ + set_info(0x020C, *(arg_06)); + process_exclude(); + FREE.slot_35(arg_0C, arg_0A); + if (retval) { + return; + } + else { + local_02 = Item.getFrame(arg_06); + spawn ITEM.slot_2A(pid, 0, 0, arg_06); + suspend; + if (global[0x0005]) { + suspend; + } + for local_06 in nearby_items(family=6, origin=arg_06) { + NPC.slot_2A(local_06); + if (!retval) { + spawn NPC.slot_2C(local_06); + } + else if (Actor.isDead(local_06)) { + spawn NPC.slot_2D(3, local_06); + } + /* loopnext */ + } + } + return; +} diff --git a/USECODE/REGRET/DICOR3.unk b/USECODE/REGRET/DICOR3.unk new file mode 100644 index 0000000..77f6498 --- /dev/null +++ b/USECODE/REGRET/DICOR3.unk @@ -0,0 +1,33 @@ + +/* synthesized appendix for DICOR3 */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x06 gotHit ===== */ +function dicor3_gotHit() /* entry=43 class_id=0x00A9 slot=0x06 */ +{ + set_info(0x020C, *(arg_06)); + process_exclude(); + FREE.slot_35(arg_0C, arg_0A); + if (retval) { + return; + } + else { + local_02 = Item.getFrame(arg_06); + spawn ITEM.slot_2A(pid, 0, 0, arg_06); + suspend; + if (global[0x0005]) { + suspend; + } + for local_06 in nearby_items(family=6, origin=arg_06) { + NPC.slot_2A(local_06); + if (!retval) { + spawn NPC.slot_2C(local_06); + } + else if (Actor.isDead(local_06)) { + spawn NPC.slot_2D(3, local_06); + } + /* loopnext */ + } + } + return; +} diff --git a/USECODE/REGRET/DISRUPT.unk b/USECODE/REGRET/DISRUPT.unk new file mode 100644 index 0000000..bb37fd6 --- /dev/null +++ b/USECODE/REGRET/DISRUPT.unk @@ -0,0 +1,138 @@ + +/* synthesized appendix for DISRUPT */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x01 use ===== */ +function disrupt_use() /* entry=401 class_id=0x0616 slot=0x01 */ +{ + set_info(0x0207, *(arg_06)); + process_exclude(); + set_info(0x00F0, 0); + /* global_address global_id=0x1E */ + if (Actor.getMap() == 25) { + return; + } + else { + local_05 = *(arg_06); + set_info(0x00F0, 0); + /* global_address global_id=0x1E */ + local_0D = Actor.getLastAnimSet(); + /* global_address global_id=0x1E */ + while (!Actor.isBusy()) { + spawn FREE.slot_3B(pid, 2, 0x00000000); + suspend; + } + /* global_address global_id=0x1E */ + if (Actor.getDir() == 0) { + local_0F = -1; + local_11 = -3; + } + else if (Actor.getDir() == 1) { + local_0F = 0; + local_11 = -3; + } + else if (Actor.getDir() == 2) { + local_0F = 1; + local_11 = -3; + } + else if (Actor.getDir() == 3) { + local_0F = 2; + local_11 = -2; + } + else if (Actor.getDir() == 4) { + local_0F = 2; + local_11 = -1; + } + else if (Actor.getDir() == 5) { + local_0F = 2; + local_11 = 0; + } + else if (Actor.getDir() == 6) { + local_0F = 2; + local_11 = 2; + } + else if (Actor.getDir() == 7) { + local_0F = 0; + local_11 = 2; + } + else if (Actor.getDir() == 8) { + local_0F = -1; + local_11 = 2; + } + else if (Actor.getDir() == 9) { + local_0F = -2; + local_11 = 2; + } + else if (Actor.getDir() == 10) { + local_0F = -3; + local_11 = 2; + } + else if (Actor.getDir() == 11) { + local_0F = -3; + local_11 = 1; + } + else if (Actor.getDir() == 12) { + local_0F = -3; + local_11 = 0; + } + else if (Actor.getDir() == 13) { + local_0F = -3; + local_11 = -1; + } + else if (Actor.getDir() == 14) { + local_0F = -3; + local_11 = -2; + } + else if (Actor.getDir() == 15) { + local_0F = -3; + local_11 = -3; + } + /* global_address global_id=0x1E */ + if (!Intrinsic0061()) { + local_03 = 1; + } + else { + local_03 = 0; + /* global_address global_id=0x1E */ + /* global_address global_id=0x1E */ + suspend; + } + /* global_address global_id=0x1E */ + local_16 = (Item.getX() + (local_0F * 16)); + /* global_address global_id=0x1E */ + local_14 = (Item.getY() + (local_11 * 16)); + /* global_address global_id=0x1E */ + local_12 = Item.getZ(); + if (Item.legalCreateAtPoint(local_16, 0, 0x0616, local_02)) { + spawn FREE.slot_21(pid, 0x01A7, 0x00000000); + suspend; + } + else { + local_17 = 0; + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x44 */ + /* loop current_var=0xF7 string_bytes=0xA loop_type=0x2 */ + while (!condition) { + local_17 = 1; + /* loopnext */ + } + if (local_17) { + spawn FREE.slot_21(pid, 0x01AA, 0x00000000); + suspend; + } + else { + spawn FREE.slot_21(pid, 0x01A9, 0x00000000); + suspend; + } + } + if (local_03) { + /* global_address global_id=0x1E */ + /* global_address global_id=0x1E */ + suspend; + /* global_address global_id=0x1E */ + /* global_address global_id=0x1E */ + suspend; + } + } + return; +} diff --git a/USECODE/REGRET/DOOR.unk b/USECODE/REGRET/DOOR.unk new file mode 100644 index 0000000..82f2b49 --- /dev/null +++ b/USECODE/REGRET/DOOR.unk @@ -0,0 +1,1683 @@ + +/* synthesized appendix for DOOR */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x20 slot_20 ===== */ +function door_slot_20() /* entry=450 class_id=0x0A04 slot=0x20 */ +{ + set_info(0x0207, *(arg_06)); + spawn DOOR.slot_21(pid, 0, arg_06); + suspend; + /* dword_to_word */ + if (!process_result) { + /* word_to_dword */ + /* pop_result */ + return; + } + else { + /* word_to_dword */ + /* pop_result */ + return; + } + spawn FREE.slot_3B(pid, 10, 0x00000000); + suspend; + return; +} + +/* ===== slot 0x21 slot_21 ===== */ +function door_slot_21() /* entry=450 class_id=0x0A04 slot=0x21 */ +{ + set_info(0x0207, *(arg_06)); + spawn FREE.slot_3B(pid, 2, 0x00000000); + suspend; + local_02 = Item.getShape(arg_06); + if (local_02 == 0x05A2) { + if (arg_0A == 2) { + /* word_to_dword */ + /* pop_result */ + return; + } + spawn DOOR3.slot_20(pid, arg_06); + suspend; + /* dword_to_word */ + if (!process_result) { + /* word_to_dword */ + /* pop_result */ + return; + } + return; + } + else if (local_02 == 0x05A5) { + if (arg_0A == 1) { + /* word_to_dword */ + /* pop_result */ + return; + } + spawn DOOR3.slot_21(pid, arg_06); + suspend; + /* dword_to_word */ + if (!process_result) { + /* word_to_dword */ + /* pop_result */ + return; + } + return; + } + else if (local_02 == 0x05A1) { + if (arg_0A == 2) { + /* word_to_dword */ + /* pop_result */ + return; + } + spawn DOOR3.slot_22(pid, arg_06); + suspend; + /* dword_to_word */ + if (!process_result) { + /* word_to_dword */ + /* pop_result */ + return; + } + return; + } + else if (local_02 == 0x05A4) { + if (arg_0A == 1) { + /* word_to_dword */ + /* pop_result */ + return; + } + spawn DOOR3.slot_23(pid, arg_06); + suspend; + /* dword_to_word */ + if (!process_result) { + /* word_to_dword */ + /* pop_result */ + return; + } + return; + } + else if (local_02 == 0x04DD) { + if (arg_0A == 2) { + /* word_to_dword */ + /* pop_result */ + return; + } + spawn DOOR3.slot_25(pid, arg_06); + suspend; + /* dword_to_word */ + if (!process_result) { + /* word_to_dword */ + /* pop_result */ + return; + } + return; + } + else if (local_02 == 0x037E) { + if (arg_0A == 2) { + /* word_to_dword */ + /* pop_result */ + return; + } + spawn DOOR3.slot_24(pid, arg_06); + suspend; + /* dword_to_word */ + if (!process_result) { + /* word_to_dword */ + /* pop_result */ + return; + } + return; + } + else if (local_02 == 49) { + if (arg_0A == 1) { + /* word_to_dword */ + /* pop_result */ + return; + } + spawn DOOR3.slot_26(pid, arg_06); + suspend; + /* dword_to_word */ + if (!process_result) { + /* word_to_dword */ + /* pop_result */ + return; + } + return; + } + else if (local_02 == 0x0363) { + if (arg_0A == 1) { + /* word_to_dword */ + /* pop_result */ + return; + } + spawn DOOR3.slot_27(pid, arg_06); + suspend; + /* dword_to_word */ + if (!process_result) { + /* word_to_dword */ + /* pop_result */ + return; + } + return; + } + else if (local_02 == 0x037A) { + if (arg_0A == 1) { + /* word_to_dword */ + /* pop_result */ + return; + } + spawn DOOR3.slot_28(pid, arg_06); + suspend; + /* dword_to_word */ + if (!process_result) { + /* word_to_dword */ + /* pop_result */ + return; + } + return; + } + else if (local_02 == 100) { + if (arg_0A == 1) { + /* word_to_dword */ + /* pop_result */ + return; + } + spawn DOOR3.slot_29(pid, arg_06); + suspend; + /* dword_to_word */ + if (!process_result) { + /* word_to_dword */ + /* pop_result */ + return; + } + return; + } + else if (local_02 == 0x053B) { + if (arg_0A == 1) { + /* word_to_dword */ + /* pop_result */ + return; + } + spawn DOOR3.slot_2A(pid, arg_06); + suspend; + /* dword_to_word */ + if (!process_result) { + /* word_to_dword */ + /* pop_result */ + return; + } + return; + } + else if (local_02 == 0x00AC) { + if (arg_0A == 1) { + /* word_to_dword */ + /* pop_result */ + return; + } + spawn DOOR3.slot_2B(pid, arg_06); + suspend; + /* dword_to_word */ + if (!process_result) { + /* word_to_dword */ + /* pop_result */ + return; + } + return; + } + else if (local_02 == 0x00AF) { + if (arg_0A == 1) { + /* word_to_dword */ + /* pop_result */ + return; + } + spawn DOOR3.slot_2C(pid, arg_06); + suspend; + /* dword_to_word */ + if (!process_result) { + /* word_to_dword */ + /* pop_result */ + return; + } + return; + } + else if (local_02 == 0x0193) { + if (arg_0A == 2) { + /* word_to_dword */ + /* pop_result */ + return; + } + spawn DOOR2.slot_4E(pid, arg_06); + suspend; + /* dword_to_word */ + if (!process_result) { + /* word_to_dword */ + /* pop_result */ + return; + } + return; + } + else if (local_02 == 0x028D) { + if (arg_0A == 1) { + /* word_to_dword */ + /* pop_result */ + return; + } + spawn DOOR2.slot_4F(pid, arg_06); + suspend; + /* dword_to_word */ + if (!process_result) { + /* word_to_dword */ + /* pop_result */ + return; + } + return; + } + else if (local_02 == 0x00C0) { + if (arg_0A == 2) { + /* word_to_dword */ + /* pop_result */ + return; + } + spawn DOOR2.slot_50(pid, arg_06); + suspend; + /* dword_to_word */ + if (!process_result) { + /* word_to_dword */ + /* pop_result */ + return; + } + return; + } + else if (local_02 == 0x0287) { + if (arg_0A == 1) { + /* word_to_dword */ + /* pop_result */ + return; + } + spawn DOOR2.slot_51(pid, arg_06); + suspend; + /* dword_to_word */ + if (!process_result) { + /* word_to_dword */ + /* pop_result */ + return; + } + return; + } + else if (local_02 == 75) { + if (arg_0A == 2) { + /* word_to_dword */ + /* pop_result */ + return; + } + spawn DOOR3.slot_2D(pid, arg_06); + suspend; + /* dword_to_word */ + if (!process_result) { + /* word_to_dword */ + /* pop_result */ + return; + } + return; + } + else if (local_02 == 0x00DB) { + if (arg_0A == 1) { + /* word_to_dword */ + /* pop_result */ + return; + } + spawn DOOR3.slot_2E(pid, arg_06); + suspend; + /* dword_to_word */ + if (!process_result) { + /* word_to_dword */ + /* pop_result */ + return; + } + return; + } + else if (local_02 == 0x02D8) { + if (arg_0A == 2) { + /* word_to_dword */ + /* pop_result */ + return; + } + spawn DOOR3.slot_2F(pid, arg_06); + suspend; + /* dword_to_word */ + if (!process_result) { + /* word_to_dword */ + /* pop_result */ + return; + } + return; + } + else if (local_02 == 0x00D9) { + if (arg_0A == 1) { + /* word_to_dword */ + /* pop_result */ + return; + } + spawn DOOR3.slot_30(pid, arg_06); + suspend; + /* dword_to_word */ + if (!process_result) { + /* word_to_dword */ + /* pop_result */ + return; + } + return; + } + else if (local_02 == 0x013F) { + if (arg_0A == 2) { + /* word_to_dword */ + /* pop_result */ + return; + } + spawn DOOR3.slot_31(pid, arg_06); + suspend; + /* dword_to_word */ + if (!process_result) { + /* word_to_dword */ + /* pop_result */ + return; + } + return; + } + else if (local_02 == 0x0301) { + if (arg_0A == 1) { + /* word_to_dword */ + /* pop_result */ + return; + } + spawn DOOR3.slot_32(pid, arg_06); + suspend; + /* dword_to_word */ + if (!process_result) { + /* word_to_dword */ + /* pop_result */ + return; + } + return; + } + else if (local_02 == 0x0156) { + if (arg_0A == 2) { + /* word_to_dword */ + /* pop_result */ + return; + } + spawn DOOR3.slot_33(pid, arg_06); + suspend; + /* dword_to_word */ + if (!process_result) { + /* word_to_dword */ + /* pop_result */ + return; + } + return; + } + else if (local_02 == 0x00D4) { + if (arg_0A == 1) { + /* word_to_dword */ + /* pop_result */ + return; + } + spawn DOOR3.slot_34(pid, arg_06); + suspend; + /* dword_to_word */ + if (!process_result) { + /* word_to_dword */ + /* pop_result */ + return; + } + return; + } + else if (local_02 == 0x056F) { + if (arg_0A == 2) { + /* word_to_dword */ + /* pop_result */ + return; + } + spawn DOOR2.slot_24(pid, arg_06); + suspend; + /* dword_to_word */ + if (!process_result) { + /* word_to_dword */ + /* pop_result */ + return; + } + return; + } + else if (local_02 == 0x055A) { + if (arg_0A == 1) { + /* word_to_dword */ + /* pop_result */ + return; + } + spawn DOOR2.slot_25(pid, arg_06); + suspend; + /* dword_to_word */ + if (!process_result) { + /* word_to_dword */ + /* pop_result */ + return; + } + return; + } + else if (local_02 == 0x0574) { + if (arg_0A == 2) { + /* word_to_dword */ + /* pop_result */ + return; + } + spawn DOOR2.slot_26(pid, arg_06); + suspend; + /* dword_to_word */ + if (!process_result) { + /* word_to_dword */ + /* pop_result */ + return; + } + return; + } + else if (local_02 == 0x0575) { + if (arg_0A == 1) { + /* word_to_dword */ + /* pop_result */ + return; + } + spawn DOOR2.slot_27(pid, arg_06); + suspend; + /* dword_to_word */ + if (!process_result) { + /* word_to_dword */ + /* pop_result */ + return; + } + return; + } + else if (local_02 == 0x0098) { + if (arg_0A == 2) { + /* word_to_dword */ + /* pop_result */ + return; + } + spawn DOOR2.slot_20(pid, arg_06); + suspend; + /* dword_to_word */ + if (!process_result) { + /* word_to_dword */ + /* pop_result */ + return; + } + return; + } + else if (local_02 == 0x0228) { + if (arg_0A == 1) { + /* word_to_dword */ + /* pop_result */ + return; + } + spawn DOOR2.slot_21(pid, arg_06); + suspend; + /* dword_to_word */ + if (!process_result) { + /* word_to_dword */ + /* pop_result */ + return; + } + return; + } + else if (local_02 == 0x0227) { + if (arg_0A == 2) { + /* word_to_dword */ + /* pop_result */ + return; + } + spawn DOOR2.slot_22(pid, arg_06); + suspend; + /* dword_to_word */ + if (!process_result) { + /* word_to_dword */ + /* pop_result */ + return; + } + return; + } + else if (local_02 == 0x00A8) { + if (arg_0A == 1) { + /* word_to_dword */ + /* pop_result */ + return; + } + spawn DOOR2.slot_23(pid, arg_06); + suspend; + /* dword_to_word */ + if (!process_result) { + /* word_to_dword */ + /* pop_result */ + return; + } + return; + } + else if (local_02 == 0x0571) { + if (arg_0A == 2) { + /* word_to_dword */ + /* pop_result */ + return; + } + spawn DOOR2.slot_28(pid, arg_06); + suspend; + /* dword_to_word */ + if (!process_result) { + /* word_to_dword */ + /* pop_result */ + return; + } + return; + } + else if (local_02 == 0x0570) { + if (arg_0A == 1) { + /* word_to_dword */ + /* pop_result */ + return; + } + spawn DOOR2.slot_29(pid, arg_06); + suspend; + /* dword_to_word */ + if (!process_result) { + /* word_to_dword */ + /* pop_result */ + return; + } + return; + } + else if (local_02 == 0x0573) { + if (arg_0A == 2) { + /* word_to_dword */ + /* pop_result */ + return; + } + spawn DOOR2.slot_2A(pid, arg_06); + suspend; + /* dword_to_word */ + if (!process_result) { + /* word_to_dword */ + /* pop_result */ + return; + } + return; + } + else if (local_02 == 0x0572) { + if (arg_0A == 1) { + /* word_to_dword */ + /* pop_result */ + return; + } + spawn DOOR2.slot_2B(pid, arg_06); + suspend; + /* dword_to_word */ + if (!process_result) { + /* word_to_dword */ + /* pop_result */ + return; + } + return; + } + else if (local_02 == 0x02F1) { + if (arg_0A == 2) { + /* word_to_dword */ + /* pop_result */ + return; + } + spawn DOOR3.slot_41(pid, arg_06); + suspend; + /* dword_to_word */ + if (!process_result) { + /* word_to_dword */ + /* pop_result */ + return; + } + return; + } + else if (local_02 == 0x051A) { + if (arg_0A == 1) { + /* word_to_dword */ + /* pop_result */ + return; + } + spawn DOOR3.slot_42(pid, arg_06); + suspend; + /* dword_to_word */ + if (!process_result) { + /* word_to_dword */ + /* pop_result */ + return; + } + return; + } + else if (local_02 == 0x04CF) { + if (arg_0A == 2) { + /* word_to_dword */ + /* pop_result */ + return; + } + spawn DOOR3.slot_43(pid, arg_06); + suspend; + /* dword_to_word */ + if (!process_result) { + /* word_to_dword */ + /* pop_result */ + return; + } + return; + } + else if (local_02 == 0x022D) { + if (arg_0A == 1) { + /* word_to_dword */ + /* pop_result */ + return; + } + spawn DOOR3.slot_44(pid, arg_06); + suspend; + /* dword_to_word */ + if (!process_result) { + /* word_to_dword */ + /* pop_result */ + return; + } + return; + } + else if (local_02 == 0x016F) { + if (arg_0A == 2) { + /* word_to_dword */ + /* pop_result */ + return; + } + spawn DOOR2.slot_2E(pid, arg_06); + suspend; + /* dword_to_word */ + if (!process_result) { + /* word_to_dword */ + /* pop_result */ + return; + } + return; + } + else if (local_02 == 0x016E) { + if (arg_0A == 1) { + /* word_to_dword */ + /* pop_result */ + return; + } + spawn DOOR2.slot_2F(pid, arg_06); + suspend; + /* dword_to_word */ + if (!process_result) { + /* word_to_dword */ + /* pop_result */ + return; + } + return; + } + else if (local_02 == 0x00DA) { + if (arg_0A == 2) { + /* word_to_dword */ + /* pop_result */ + return; + } + spawn DOOR2.slot_2C(pid, arg_06); + suspend; + /* dword_to_word */ + if (!process_result) { + /* word_to_dword */ + /* pop_result */ + return; + } + return; + } + else if (local_02 == 0x00A5) { + if (arg_0A == 1) { + /* word_to_dword */ + /* pop_result */ + return; + } + spawn DOOR2.slot_2D(pid, arg_06); + suspend; + /* dword_to_word */ + if (!process_result) { + /* word_to_dword */ + /* pop_result */ + return; + } + return; + } + else if (local_02 == 0x01AB) { + if (arg_0A == 2) { + /* word_to_dword */ + /* pop_result */ + return; + } + spawn DOOR2.slot_42(pid, arg_06); + suspend; + /* dword_to_word */ + if (!process_result) { + /* word_to_dword */ + /* pop_result */ + return; + } + return; + } + else if (local_02 == 0x0215) { + if (arg_0A == 1) { + /* word_to_dword */ + /* pop_result */ + return; + } + spawn DOOR2.slot_43(pid, arg_06); + suspend; + /* dword_to_word */ + if (!process_result) { + /* word_to_dword */ + /* pop_result */ + return; + } + return; + } + else if (local_02 == 0x0393) { + if (arg_0A == 2) { + /* word_to_dword */ + /* pop_result */ + return; + } + spawn DOOR2.slot_44(pid, arg_06); + suspend; + /* dword_to_word */ + if (!process_result) { + /* word_to_dword */ + /* pop_result */ + return; + } + return; + } + else if (local_02 == 0x0394) { + if (arg_0A == 1) { + /* word_to_dword */ + /* pop_result */ + return; + } + spawn DOOR2.slot_45(pid, arg_06); + suspend; + /* dword_to_word */ + if (!process_result) { + /* word_to_dword */ + /* pop_result */ + return; + } + return; + } + else if (local_02 == 0x0353) { + if (arg_0A == 2) { + /* word_to_dword */ + /* pop_result */ + return; + } + spawn DOOR2.slot_30(pid, arg_06); + suspend; + /* dword_to_word */ + if (!process_result) { + /* word_to_dword */ + /* pop_result */ + return; + } + return; + } + else if (local_02 == 0x0368) { + if (arg_0A == 2) { + /* word_to_dword */ + /* pop_result */ + return; + } + spawn DOOR2.slot_32(pid, arg_06); + suspend; + /* dword_to_word */ + if (!process_result) { + /* word_to_dword */ + /* pop_result */ + return; + } + return; + } + else if (local_02 == 0x0359) { + if (arg_0A == 1) { + /* word_to_dword */ + /* pop_result */ + return; + } + spawn DOOR2.slot_31(pid, arg_06); + suspend; + /* dword_to_word */ + if (!process_result) { + /* word_to_dword */ + /* pop_result */ + return; + } + return; + } + else if (local_02 == 0x0358) { + if (arg_0A == 1) { + /* word_to_dword */ + /* pop_result */ + return; + } + spawn DOOR2.slot_33(pid, arg_06); + suspend; + /* dword_to_word */ + if (!process_result) { + /* word_to_dword */ + /* pop_result */ + return; + } + return; + } + else if (local_02 == 0x018D) { + if (arg_0A == 2) { + /* word_to_dword */ + /* pop_result */ + return; + } + spawn DOOR2.slot_46(pid, arg_06); + suspend; + /* dword_to_word */ + if (!process_result) { + /* word_to_dword */ + /* pop_result */ + return; + } + return; + } + else if (local_02 == 0x0289) { + if (arg_0A == 1) { + /* word_to_dword */ + /* pop_result */ + return; + } + spawn DOOR2.slot_47(pid, arg_06); + suspend; + /* dword_to_word */ + if (!process_result) { + /* word_to_dword */ + /* pop_result */ + return; + } + return; + } + else if (local_02 == 0x01C6) { + if (arg_0A == 2) { + /* word_to_dword */ + /* pop_result */ + return; + } + spawn DOOR2.slot_48(pid, arg_06); + suspend; + /* dword_to_word */ + if (!process_result) { + /* word_to_dword */ + /* pop_result */ + return; + } + return; + } + else if (local_02 == 0x01C7) { + if (arg_0A == 1) { + /* word_to_dword */ + /* pop_result */ + return; + } + spawn DOOR2.slot_49(pid, arg_06); + suspend; + /* dword_to_word */ + if (!process_result) { + /* word_to_dword */ + /* pop_result */ + return; + } + return; + } + else if (local_02 == 0x01EE) { + if (arg_0A == 2) { + /* word_to_dword */ + /* pop_result */ + return; + } + spawn DOOR2.slot_4A(pid, arg_06); + suspend; + /* dword_to_word */ + if (!process_result) { + /* word_to_dword */ + /* pop_result */ + return; + } + return; + } + else if (local_02 == 0x01ED) { + if (arg_0A == 1) { + /* word_to_dword */ + /* pop_result */ + return; + } + spawn DOOR2.slot_4B(pid, arg_06); + suspend; + /* dword_to_word */ + if (!process_result) { + /* word_to_dword */ + /* pop_result */ + return; + } + return; + } + else if (local_02 == 0x03AD) { + if (arg_0A == 2) { + /* word_to_dword */ + /* pop_result */ + return; + } + spawn DOOR2.slot_4C(pid, arg_06); + suspend; + /* dword_to_word */ + if (!process_result) { + /* word_to_dword */ + /* pop_result */ + return; + } + return; + } + else if (local_02 == 0x03C7) { + if (arg_0A == 1) { + /* word_to_dword */ + /* pop_result */ + return; + } + spawn DOOR2.slot_4D(pid, arg_06); + suspend; + /* dword_to_word */ + if (!process_result) { + /* word_to_dword */ + /* pop_result */ + return; + } + return; + } + else if (local_02 == 0x03B9) { + if (arg_0A == 2) { + /* word_to_dword */ + /* pop_result */ + return; + } + spawn DOOR3.slot_39(pid, arg_06); + suspend; + /* dword_to_word */ + if (!process_result) { + /* word_to_dword */ + /* pop_result */ + return; + } + return; + } + else if (local_02 == 0x0240) { + if (arg_0A == 1) { + /* word_to_dword */ + /* pop_result */ + return; + } + spawn DOOR3.slot_3A(pid, arg_06); + suspend; + /* dword_to_word */ + if (!process_result) { + /* word_to_dword */ + /* pop_result */ + return; + } + return; + } + else if (local_02 == 0x03BA) { + if (arg_0A == 2) { + /* word_to_dword */ + /* pop_result */ + return; + } + spawn DOOR3.slot_3B(pid, arg_06); + suspend; + /* dword_to_word */ + if (!process_result) { + /* word_to_dword */ + /* pop_result */ + return; + } + return; + } + else if (local_02 == 0x0241) { + if (arg_0A == 1) { + /* word_to_dword */ + /* pop_result */ + return; + } + spawn DOOR3.slot_3C(pid, arg_06); + suspend; + /* dword_to_word */ + if (!process_result) { + /* word_to_dword */ + /* pop_result */ + return; + } + return; + } + else if (local_02 == 0x0167) { + if (arg_0A == 2) { + /* word_to_dword */ + /* pop_result */ + return; + } + spawn DOOR3.slot_35(pid, arg_06); + suspend; + /* dword_to_word */ + if (!process_result) { + /* word_to_dword */ + /* pop_result */ + return; + } + return; + } + else if (local_02 == 0x04F3) { + if (arg_0A == 1) { + /* word_to_dword */ + /* pop_result */ + return; + } + spawn DOOR3.slot_36(pid, arg_06); + suspend; + /* dword_to_word */ + if (!process_result) { + /* word_to_dword */ + /* pop_result */ + return; + } + return; + } + else if (local_02 == 0x0168) { + if (arg_0A == 2) { + /* word_to_dword */ + /* pop_result */ + return; + } + spawn DOOR3.slot_37(pid, arg_06); + suspend; + /* dword_to_word */ + if (!process_result) { + /* word_to_dword */ + /* pop_result */ + return; + } + return; + } + else if (local_02 == 0x0551) { + if (arg_0A == 1) { + /* word_to_dword */ + /* pop_result */ + return; + } + spawn DOOR3.slot_38(pid, arg_06); + suspend; + /* dword_to_word */ + if (!process_result) { + /* word_to_dword */ + /* pop_result */ + return; + } + return; + } + else if (local_02 == 0x03C6) { + if (arg_0A == 2) { + /* word_to_dword */ + /* pop_result */ + return; + } + spawn DOOR3.slot_3D(pid, arg_06); + suspend; + /* dword_to_word */ + if (!process_result) { + /* word_to_dword */ + /* pop_result */ + return; + } + return; + } + else if (local_02 == 0x046A) { + if (arg_0A == 1) { + /* word_to_dword */ + /* pop_result */ + return; + } + spawn DOOR3.slot_3E(pid, arg_06); + suspend; + /* dword_to_word */ + if (!process_result) { + /* word_to_dword */ + /* pop_result */ + return; + } + return; + } + else if (local_02 == 0x046B) { + if (arg_0A == 2) { + /* word_to_dword */ + /* pop_result */ + return; + } + spawn DOOR3.slot_3F(pid, arg_06); + suspend; + /* dword_to_word */ + if (!process_result) { + /* word_to_dword */ + /* pop_result */ + return; + } + return; + } + else if (local_02 == 0x046C) { + if (arg_0A == 1) { + /* word_to_dword */ + /* pop_result */ + return; + } + spawn DOOR3.slot_40(pid, arg_06); + suspend; + /* dword_to_word */ + if (!process_result) { + /* word_to_dword */ + /* pop_result */ + return; + } + return; + } + else if (local_02 == 51) { + if (arg_0A == 2) { + /* word_to_dword */ + /* pop_result */ + return; + } + spawn DOOR2.slot_3A(pid, arg_06); + suspend; + /* dword_to_word */ + if (!process_result) { + /* word_to_dword */ + /* pop_result */ + return; + } + return; + } + else if (local_02 == 0x009C) { + if (arg_0A == 1) { + /* word_to_dword */ + /* pop_result */ + return; + } + spawn DOOR2.slot_3B(pid, arg_06); + suspend; + /* dword_to_word */ + if (!process_result) { + /* word_to_dword */ + /* pop_result */ + return; + } + return; + } + else if (local_02 == 108) { + if (arg_0A == 2) { + /* word_to_dword */ + /* pop_result */ + return; + } + spawn DOOR2.slot_3C(pid, arg_06); + suspend; + /* dword_to_word */ + if (!process_result) { + /* word_to_dword */ + /* pop_result */ + return; + } + return; + } + else if (local_02 == 0x0400) { + if (arg_0A == 1) { + /* word_to_dword */ + /* pop_result */ + return; + } + spawn DOOR2.slot_3D(pid, arg_06); + suspend; + /* dword_to_word */ + if (!process_result) { + /* word_to_dword */ + /* pop_result */ + return; + } + return; + } + else if (local_02 == 0x013B) { + if (arg_0A == 2) { + /* word_to_dword */ + /* pop_result */ + return; + } + spawn DOOR2.slot_34(pid, arg_06); + suspend; + /* dword_to_word */ + if (!process_result) { + /* word_to_dword */ + /* pop_result */ + return; + } + return; + } + else if (local_02 == 0x02DB) { + if (arg_0A == 1) { + /* word_to_dword */ + /* pop_result */ + return; + } + spawn DOOR2.slot_35(pid, arg_06); + suspend; + /* dword_to_word */ + if (!process_result) { + /* word_to_dword */ + /* pop_result */ + return; + } + return; + } + else if (local_02 == 0x018A) { + if (arg_0A == 2) { + /* word_to_dword */ + /* pop_result */ + return; + } + spawn DOOR2.slot_36(pid, arg_06); + suspend; + /* dword_to_word */ + if (!process_result) { + /* word_to_dword */ + /* pop_result */ + return; + } + return; + } + else if (local_02 == 0x05E8) { + if (arg_0A == 1) { + /* word_to_dword */ + /* pop_result */ + return; + } + spawn DOOR2.slot_37(pid, arg_06); + suspend; + /* dword_to_word */ + if (!process_result) { + /* word_to_dword */ + /* pop_result */ + return; + } + return; + } + else if (local_02 == 0x0460) { + if (arg_0A == 2) { + /* word_to_dword */ + /* pop_result */ + return; + } + spawn DOOR2.slot_38(pid, arg_06); + suspend; + /* dword_to_word */ + if (!process_result) { + /* word_to_dword */ + /* pop_result */ + return; + } + return; + } + else if (local_02 == 0x05E9) { + if (arg_0A == 1) { + /* word_to_dword */ + /* pop_result */ + return; + } + spawn DOOR2.slot_39(pid, arg_06); + suspend; + /* dword_to_word */ + if (!process_result) { + /* word_to_dword */ + /* pop_result */ + return; + } + return; + } + else if (local_02 == 0x047D) { + if (arg_0A == 1) { + /* word_to_dword */ + /* pop_result */ + return; + } + spawn DOOR4.slot_21(pid, arg_06); + suspend; + /* dword_to_word */ + if (!process_result) { + /* word_to_dword */ + /* pop_result */ + return; + } + return; + } + else if (local_02 == 0x05F9) { + if (arg_0A == 2) { + /* word_to_dword */ + /* pop_result */ + return; + } + spawn DOOR4.slot_20(pid, arg_06); + suspend; + /* dword_to_word */ + if (!process_result) { + /* word_to_dword */ + /* pop_result */ + return; + } + return; + } + else if (local_02 == 0x05AA) { + if (arg_0A == 2) { + /* word_to_dword */ + /* pop_result */ + return; + } + spawn DOOR2.slot_3E(pid, arg_06); + suspend; + /* dword_to_word */ + if (!process_result) { + /* word_to_dword */ + /* pop_result */ + return; + } + return; + } + else if (local_02 == 0x0129) { + if (arg_0A == 2) { + /* word_to_dword */ + /* pop_result */ + return; + } + spawn DOOR2.slot_40(pid, arg_06); + suspend; + /* dword_to_word */ + if (!process_result) { + /* word_to_dword */ + /* pop_result */ + return; + } + return; + } + else if (local_02 == 0x05AB) { + if (arg_0A == 1) { + /* word_to_dword */ + /* pop_result */ + return; + } + spawn DOOR2.slot_3F(pid, arg_06); + suspend; + /* dword_to_word */ + if (!process_result) { + /* word_to_dword */ + /* pop_result */ + return; + } + return; + } + else if (local_02 == 0x028A) { + if (arg_0A == 1) { + /* word_to_dword */ + /* pop_result */ + return; + } + spawn DOOR2.slot_41(pid, arg_06); + suspend; + /* dword_to_word */ + if (!process_result) { + /* word_to_dword */ + /* pop_result */ + return; + } + return; + } + else { + /* word_to_dword */ + /* pop_result */ + return; + } + return; +} + +/* ===== slot 0x22 slot_22 ===== */ +function door_slot_22() /* entry=450 class_id=0x0A04 slot=0x22 */ +{ + entry: + set_info(0x0001, *(arg_06)); + local_04 = 0; + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x4C */ + /* loop current_var=0xFE string_bytes=0x1A loop_type=0x2 */ + + block_14CB: + if condition goto block_14DC; + + block_14CE: + local_04 = (1 + local_04); + goto block_14DC; + + block_14D8: + /* loopnext */ + goto block_14CB; + + block_14DC: + local_08 = Item.getQLo(arg_06); + local_06 = Item.getQHi(arg_06); + if local_04 goto block_1561; + + block_14F9: + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x4C */ + /* loop current_var=0xFE string_bytes=0x1A loop_type=0x2 */ + + block_152E: + while (!condition) { + local_0A = Item.getQLo(local_02); + /* loopnext */ + } + + block_155F: + + block_1561: + return; + +} + +/* ===== slot 0x23 slot_23 ===== */ +function door_slot_23() /* entry=450 class_id=0x0A04 slot=0x23 */ +{ + set_info(0x0207, *(arg_06)); + FREE.slot_35(arg_0C, arg_0A); + local_08 = retval; + if (((local_08 == 3) || (local_08 != 4)) || (local_08 != 10)) { + FREE.slot_34(arg_0C, arg_0A); + /* rsh */ + local_0A = 2; + } + else { + return; + } + spawn ITEM.slot_29(pid, 0x00FA, arg_0C, arg_0A, arg_06); + suspend; + /* dword_to_word */ + if (process_result) { + FREE.slot_20(10); + if (retval <= 5) { + } + return; + } + else if (Item.getFrame(arg_06) <= 0) { + return; + } + else { + for local_02 in nearby_items(shape=0x04F8, origin=arg_06) { + if (Item.getQLo(local_02) == Item.getQLo(arg_06)) { + if (Item.getMapNum(local_02) == 0) { + spawn TRIGGER.slot_20(pid, 0, local_02, arg_06); + suspend; + } + else { + spawn TRIGGER.slot_20(pid, (0 + 0x0080), local_02, arg_06); + suspend; + } + } + /* loopnext */ + } + spawn FREE.slot_3B(pid, 1, 0x00000000); + suspend; + if (World.getAlertActive() == 0) { + spawn FREE.slot_44(0x00000000); + } + if (Item.getShape(arg_06) == door_shape_03ba) { + spawn ITEM.slot_2A(pid, 0, 2, arg_06); + suspend; + spawn FREE.slot_3B(pid, 1, 0x00000000); + suspend; + spawn DOOR.slot_22(pid, arg_06); + suspend; + return; + } + else if (Item.getShape(arg_06) == door_shape_03b9) { + spawn ITEM.slot_2A(pid, 0, 2, arg_06); + suspend; + spawn FREE.slot_3B(pid, 1, 0x00000000); + suspend; + spawn DOOR.slot_22(pid, arg_06); + suspend; + return; + } + else if (Item.getShape(arg_06) == door_shape_02d8) { + spawn ITEM.slot_2A(pid, 0, 2, arg_06); + suspend; + spawn FREE.slot_3B(pid, 1, 0x00000000); + suspend; + spawn DOOR.slot_22(pid, arg_06); + suspend; + return; + } + else if (Item.getShape(arg_06) == door_shape_004b) { + spawn ITEM.slot_2A(pid, 0, 2, arg_06); + suspend; + spawn FREE.slot_3B(pid, 1, 0x00000000); + suspend; + spawn DOOR.slot_22(pid, arg_06); + suspend; + return; + } + else if (Item.getShape(arg_06) == door_shape_0064) { + spawn ITEM.slot_2A(pid, 0, 2, arg_06); + suspend; + spawn FREE.slot_3B(pid, 1, 0x00000000); + suspend; + spawn DOOR.slot_22(pid, arg_06); + suspend; + return; + } + else if (Item.getShape(arg_06) == door_shape_053b) { + spawn ITEM.slot_2A(pid, 0, 2, arg_06); + suspend; + spawn FREE.slot_3B(pid, 1, 0x00000000); + suspend; + spawn DOOR.slot_22(pid, arg_06); + suspend; + return; + } + else if (Item.getShape(arg_06) == door_shape_0363) { + spawn ITEM.slot_2A(pid, 0, 2, arg_06); + suspend; + spawn FREE.slot_3B(pid, 1, 0x00000000); + suspend; + spawn DOOR.slot_22(pid, arg_06); + suspend; + return; + } + else if (Item.getShape(arg_06) == door_shape_037a) { + spawn ITEM.slot_2A(pid, 0, 2, arg_06); + suspend; + spawn FREE.slot_3B(pid, 1, 0x00000000); + suspend; + spawn DOOR.slot_22(pid, arg_06); + suspend; + return; + } + else if (Item.getShape(arg_06) == door_shape_0574) { + spawn ITEM.slot_2A(pid, 0, 2, arg_06); + suspend; + spawn FREE.slot_3B(pid, 1, 0x00000000); + suspend; + spawn DOOR.slot_22(pid, arg_06); + suspend; + return; + } + else if (Item.getShape(arg_06) == door_shape_056f) { + spawn ITEM.slot_2A(pid, 0, 2, arg_06); + suspend; + spawn FREE.slot_3B(pid, 1, 0x00000000); + suspend; + spawn DOOR.slot_22(pid, arg_06); + suspend; + return; + } + else if (Item.getShape(arg_06) == door_shape_0573) { + spawn ITEM.slot_2A(pid, 0, 2, arg_06); + suspend; + spawn FREE.slot_3B(pid, 1, 0x00000000); + suspend; + spawn DOOR.slot_22(pid, arg_06); + suspend; + return; + } + else if (Item.getShape(arg_06) == door_shape_0571) { + spawn ITEM.slot_2A(pid, 0, 2, arg_06); + suspend; + spawn FREE.slot_3B(pid, 1, 0x00000000); + suspend; + spawn DOOR.slot_22(pid, arg_06); + suspend; + return; + } + else if (Item.getShape(arg_06) == door_shape_006c) { + spawn ITEM.slot_2A(pid, 0, 2, arg_06); + suspend; + spawn FREE.slot_3B(pid, 1, 0x00000000); + suspend; + spawn DOOR.slot_22(pid, arg_06); + suspend; + return; + } + else if (Item.getShape(arg_06) == door_shape_0033) { + spawn ITEM.slot_2A(pid, 0, 2, arg_06); + suspend; + spawn FREE.slot_3B(pid, 1, 0x00000000); + suspend; + spawn DOOR.slot_22(pid, arg_06); + suspend; + return; + } + } + return; +} diff --git a/USECODE/REGRET/DOOR2.unk b/USECODE/REGRET/DOOR2.unk new file mode 100644 index 0000000..15287a9 --- /dev/null +++ b/USECODE/REGRET/DOOR2.unk @@ -0,0 +1,1249 @@ + +/* synthesized appendix for DOOR2 */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x20 slot_20 ===== */ +function door2_slot_20() /* entry=451 class_id=0x0A05 slot=0x20 */ +{ + set_info(0x0207, *(arg_06)); + if (Item.getFrame(arg_06) <= 0) { + /* word_to_dword */ + /* pop_result */ + return; + } + else { + spawn DOOR.slot_22(pid, arg_06); + suspend; + local_02 = 0; + while (local_02 > 7) { + spawn FREE.slot_3B(pid, 10, 0x00000000); + suspend; + local_02 = (1 + local_02); + } + /* word_to_dword */ + /* pop_result */ + return; + } + return; +} + +/* ===== slot 0x21 slot_21 ===== */ +function door2_slot_21() /* entry=451 class_id=0x0A05 slot=0x21 */ +{ + set_info(0x0207, *(arg_06)); + if (!Item.legalCreateAtCoords(Item.getZ(arg_06), (Item.getY(arg_06) + 0x0080), Item.getX(arg_06), 3, 0x0098, local_04)) { + local_02 = 0; + while (local_02 > 7) { + spawn FREE.slot_3B(pid, 10, 0x00000000); + suspend; + local_02 = (1 + local_02); + } + /* word_to_dword */ + /* pop_result */ + return; + } + else { + /* word_to_dword */ + /* pop_result */ + return; + } + return; +} + +/* ===== slot 0x22 slot_22 ===== */ +function door2_slot_22() /* entry=451 class_id=0x0A05 slot=0x22 */ +{ + set_info(0x0207, *(arg_06)); + if (Item.getFrame(arg_06) <= 0) { + /* word_to_dword */ + /* pop_result */ + return; + } + else { + spawn DOOR.slot_22(pid, arg_06); + suspend; + local_02 = 0; + while (local_02 > 7) { + spawn FREE.slot_3B(pid, 10, 0x00000000); + suspend; + local_02 = (1 + local_02); + } + /* word_to_dword */ + /* pop_result */ + return; + } + return; +} + +/* ===== slot 0x23 slot_23 ===== */ +function door2_slot_23() /* entry=451 class_id=0x0A05 slot=0x23 */ +{ + set_info(0x0207, *(arg_06)); + if (!Item.legalCreateAtCoords(Item.getZ(arg_06), Item.getY(arg_06), (Item.getX(arg_06) + 0x0080), 3, 0x0227, local_04)) { + local_02 = 0; + while (local_02 > 7) { + spawn FREE.slot_3B(pid, 10, 0x00000000); + suspend; + local_02 = (1 + local_02); + } + /* word_to_dword */ + /* pop_result */ + return; + } + else { + /* word_to_dword */ + /* pop_result */ + return; + } + return; +} + +/* ===== slot 0x24 slot_24 ===== */ +function door2_slot_24() /* entry=451 class_id=0x0A05 slot=0x24 */ +{ + set_info(0x0207, *(arg_06)); + if (Item.getFrame(arg_06) <= 0) { + /* word_to_dword */ + /* pop_result */ + return; + } + else { + spawn DOOR.slot_22(pid, arg_06); + suspend; + local_02 = 0; + while (local_02 > 3) { + spawn FREE.slot_3B(pid, 10, 0x00000000); + suspend; + local_02 = (1 + local_02); + } + /* word_to_dword */ + /* pop_result */ + return; + } + return; +} + +/* ===== slot 0x25 slot_25 ===== */ +function door2_slot_25() /* entry=451 class_id=0x0A05 slot=0x25 */ +{ + set_info(0x0207, *(arg_06)); + if (!Item.legalCreateAtCoords(Item.getZ(arg_06), (Item.getY(arg_06) + 0x0080), Item.getX(arg_06), 3, 0x056F, local_04)) { + local_02 = 0; + while (local_02 > 3) { + spawn FREE.slot_3B(pid, 10, 0x00000000); + suspend; + local_02 = (1 + local_02); + } + /* word_to_dword */ + /* pop_result */ + return; + } + else { + /* word_to_dword */ + /* pop_result */ + return; + } + return; +} + +/* ===== slot 0x26 slot_26 ===== */ +function door2_slot_26() /* entry=451 class_id=0x0A05 slot=0x26 */ +{ + set_info(0x0207, *(arg_06)); + if (Item.getFrame(arg_06) <= 0) { + /* word_to_dword */ + /* pop_result */ + return; + } + else { + spawn DOOR.slot_22(pid, arg_06); + suspend; + local_02 = 0; + while (local_02 > 3) { + spawn FREE.slot_3B(pid, 10, 0x00000000); + suspend; + local_02 = (1 + local_02); + } + /* word_to_dword */ + /* pop_result */ + return; + } + return; +} + +/* ===== slot 0x27 slot_27 ===== */ +function door2_slot_27() /* entry=451 class_id=0x0A05 slot=0x27 */ +{ + set_info(0x0207, *(arg_06)); + if (!Item.legalCreateAtCoords(Item.getZ(arg_06), Item.getY(arg_06), (Item.getX(arg_06) + 0x0080), 3, 0x0574, local_04)) { + local_02 = 0; + while (local_02 > 3) { + spawn FREE.slot_3B(pid, 10, 0x00000000); + suspend; + local_02 = (1 + local_02); + } + /* word_to_dword */ + /* pop_result */ + return; + } + else { + /* word_to_dword */ + /* pop_result */ + return; + } + return; +} + +/* ===== slot 0x28 slot_28 ===== */ +function door2_slot_28() /* entry=451 class_id=0x0A05 slot=0x28 */ +{ + set_info(0x0207, *(arg_06)); + if (Item.getFrame(arg_06) <= 0) { + /* word_to_dword */ + /* pop_result */ + return; + } + else { + spawn DOOR.slot_22(pid, arg_06); + suspend; + local_02 = 0; + while (local_02 > 7) { + spawn FREE.slot_3B(pid, 10, 0x00000000); + suspend; + local_02 = (1 + local_02); + } + /* word_to_dword */ + /* pop_result */ + return; + } + return; +} + +/* ===== slot 0x29 slot_29 ===== */ +function door2_slot_29() /* entry=451 class_id=0x0A05 slot=0x29 */ +{ + set_info(0x0207, *(arg_06)); + if (!Item.legalCreateAtCoords(Item.getZ(arg_06), (Item.getY(arg_06) + 0x0080), Item.getX(arg_06), 3, 0x0571, local_04)) { + local_02 = 0; + while (local_02 > 7) { + spawn FREE.slot_3B(pid, 10, 0x00000000); + suspend; + local_02 = (1 + local_02); + } + /* word_to_dword */ + /* pop_result */ + return; + } + else { + /* word_to_dword */ + /* pop_result */ + return; + } + return; +} + +/* ===== slot 0x2A slot_2A ===== */ +function door2_slot_2A() /* entry=451 class_id=0x0A05 slot=0x2A */ +{ + set_info(0x0207, *(arg_06)); + if (Item.getFrame(arg_06) <= 0) { + /* word_to_dword */ + /* pop_result */ + return; + } + else { + spawn DOOR.slot_22(pid, arg_06); + suspend; + local_02 = 0; + while (local_02 > 7) { + spawn FREE.slot_3B(pid, 10, 0x00000000); + suspend; + local_02 = (1 + local_02); + } + /* word_to_dword */ + /* pop_result */ + return; + } + return; +} + +/* ===== slot 0x2B slot_2B ===== */ +function door2_slot_2B() /* entry=451 class_id=0x0A05 slot=0x2B */ +{ + set_info(0x0207, *(arg_06)); + if (!Item.legalCreateAtCoords(Item.getZ(arg_06), Item.getY(arg_06), (Item.getX(arg_06) + 0x0080), 3, 0x0573, local_04)) { + local_02 = 0; + while (local_02 > 7) { + spawn FREE.slot_3B(pid, 10, 0x00000000); + suspend; + local_02 = (1 + local_02); + } + /* word_to_dword */ + /* pop_result */ + return; + } + else { + /* word_to_dword */ + /* pop_result */ + return; + } + return; +} + +/* ===== slot 0x2C slot_2C ===== */ +function door2_slot_2C() /* entry=451 class_id=0x0A05 slot=0x2C */ +{ + set_info(0x0207, *(arg_06)); + if (Item.getFrame(arg_06) <= 0) { + /* word_to_dword */ + /* pop_result */ + return; + } + else { + spawn DOOR.slot_22(pid, arg_06); + suspend; + local_02 = 0; + while (local_02 > 7) { + spawn FREE.slot_3B(pid, 5, 0x00000000); + suspend; + local_02 = (1 + local_02); + } + /* word_to_dword */ + /* pop_result */ + return; + } + return; +} + +/* ===== slot 0x2D slot_2D ===== */ +function door2_slot_2D() /* entry=451 class_id=0x0A05 slot=0x2D */ +{ + set_info(0x0207, *(arg_06)); + if (!Item.legalCreateAtCoords(Item.getZ(arg_06), Item.getY(arg_06), (Item.getX(arg_06) + 0x0090), 7, 0x00DA, local_04)) { + local_02 = 0; + while (local_02 > 7) { + spawn FREE.slot_3B(pid, 5, 0x00000000); + suspend; + local_02 = (1 + local_02); + } + /* word_to_dword */ + /* pop_result */ + return; + } + else { + /* word_to_dword */ + /* pop_result */ + return; + } + return; +} + +/* ===== slot 0x2E slot_2E ===== */ +function door2_slot_2E() /* entry=451 class_id=0x0A05 slot=0x2E */ +{ + set_info(0x0207, *(arg_06)); + if (Item.getFrame(arg_06) <= 0) { + /* word_to_dword */ + /* pop_result */ + return; + } + else { + spawn DOOR.slot_22(pid, arg_06); + suspend; + local_02 = 0; + while (local_02 > 7) { + spawn FREE.slot_3B(pid, 5, 0x00000000); + suspend; + local_02 = (1 + local_02); + } + /* word_to_dword */ + /* pop_result */ + return; + } + return; +} + +/* ===== slot 0x2F slot_2F ===== */ +function door2_slot_2F() /* entry=451 class_id=0x0A05 slot=0x2F */ +{ + set_info(0x0207, *(arg_06)); + if (!Item.legalCreateAtCoords(Item.getZ(arg_06), (Item.getY(arg_06) + 0x0090), Item.getX(arg_06), 7, 0x016F, local_04)) { + local_02 = 0; + while (local_02 > 7) { + spawn FREE.slot_3B(pid, 5, 0x00000000); + suspend; + local_02 = (1 + local_02); + } + /* word_to_dword */ + /* pop_result */ + return; + } + else { + /* word_to_dword */ + /* pop_result */ + return; + } + return; +} + +/* ===== slot 0x30 slot_30 ===== */ +function door2_slot_30() /* entry=451 class_id=0x0A05 slot=0x30 */ +{ + set_info(0x0207, *(arg_06)); + if (Item.getFrame(arg_06) <= 0) { + /* word_to_dword */ + /* pop_result */ + return; + } + else { + spawn DOOR.slot_22(pid, arg_06); + suspend; + local_02 = 0; + while (local_02 > 7) { + spawn FREE.slot_3B(pid, 5, 0x00000000); + suspend; + local_02 = (1 + local_02); + } + /* word_to_dword */ + /* pop_result */ + return; + } + return; +} + +/* ===== slot 0x31 slot_31 ===== */ +function door2_slot_31() /* entry=451 class_id=0x0A05 slot=0x31 */ +{ + set_info(0x0207, *(arg_06)); + if (!Item.legalCreateAtCoords(Item.getZ(arg_06), (Item.getY(arg_06) + 0x0080), Item.getX(arg_06), 7, 0x0353, local_04)) { + local_02 = 0; + while (local_02 > 7) { + spawn FREE.slot_3B(pid, 5, 0x00000000); + suspend; + local_02 = (1 + local_02); + } + /* word_to_dword */ + /* pop_result */ + return; + } + else { + /* word_to_dword */ + /* pop_result */ + return; + } + return; +} + +/* ===== slot 0x32 slot_32 ===== */ +function door2_slot_32() /* entry=451 class_id=0x0A05 slot=0x32 */ +{ + set_info(0x0207, *(arg_06)); + if (Item.getFrame(arg_06) <= 0) { + /* word_to_dword */ + /* pop_result */ + return; + } + else { + spawn DOOR.slot_22(pid, arg_06); + suspend; + local_02 = 0; + while (local_02 > 7) { + spawn FREE.slot_3B(pid, 5, 0x00000000); + suspend; + local_02 = (1 + local_02); + } + /* word_to_dword */ + /* pop_result */ + return; + } + return; +} + +/* ===== slot 0x33 slot_33 ===== */ +function door2_slot_33() /* entry=451 class_id=0x0A05 slot=0x33 */ +{ + set_info(0x0207, *(arg_06)); + if (!Item.legalCreateAtCoords(Item.getZ(arg_06), Item.getY(arg_06), (Item.getX(arg_06) + 0x0080), 7, 0x0368, local_04)) { + local_02 = 0; + while (local_02 > 7) { + spawn FREE.slot_3B(pid, 5, 0x00000000); + suspend; + local_02 = (1 + local_02); + } + /* word_to_dword */ + /* pop_result */ + return; + } + else { + /* word_to_dword */ + /* pop_result */ + return; + } + return; +} + +/* ===== slot 0x34 slot_34 ===== */ +function door2_slot_34() /* entry=451 class_id=0x0A05 slot=0x34 */ +{ + set_info(0x0207, *(arg_06)); + spawn DOOR.slot_22(pid, arg_06); + suspend; + local_04 = 7; + local_02 = 1; + while (local_02 > local_04) { + spawn FREE.slot_3B(pid, 10, 0x00000000); + suspend; + local_02 = (1 + local_02); + } + /* word_to_dword */ + /* pop_result */ + return; +} + +/* ===== slot 0x35 slot_35 ===== */ +function door2_slot_35() /* entry=451 class_id=0x0A05 slot=0x35 */ +{ + set_info(0x0207, *(arg_06)); + local_06 = 7; + FREE.slot_36((Item.getZ(arg_06) - 72), Item.getY(arg_06), Item.getX(arg_06), local_06, 0x013B, *(arg_06)); + if (!retval) { + } + else { + /* word_to_dword */ + /* pop_result */ + return; + } + local_02 = (local_06 - 1); + while (local_02 <= 0) { + spawn FREE.slot_3B(pid, 10, 0x00000000); + suspend; + local_02 = (local_02 - 1); + } + /* word_to_dword */ + /* pop_result */ + return; +} + +/* ===== slot 0x36 slot_36 ===== */ +function door2_slot_36() /* entry=451 class_id=0x0A05 slot=0x36 */ +{ + set_info(0x0207, *(arg_06)); + spawn DOOR.slot_22(pid, arg_06); + suspend; + local_04 = 4; + local_02 = 1; + while (local_02 > local_04) { + spawn FREE.slot_3B(pid, 10, 0x00000000); + suspend; + local_02 = (1 + local_02); + } + /* word_to_dword */ + /* pop_result */ + return; +} + +/* ===== slot 0x37 slot_37 ===== */ +function door2_slot_37() /* entry=451 class_id=0x0A05 slot=0x37 */ +{ + set_info(0x0207, *(arg_06)); + spawn DOOR.slot_22(pid, arg_06); + suspend; + local_06 = 4; + FREE.slot_36(Item.getZ(arg_06), Item.getY(arg_06), Item.getX(arg_06), local_06, 0x018A, *(arg_06)); + if (!retval) { + } + else { + /* word_to_dword */ + /* pop_result */ + return; + } + local_02 = (local_06 - 1); + while (local_02 <= 0) { + spawn FREE.slot_3B(pid, 10, 0x00000000); + suspend; + local_02 = (local_02 - 1); + } + /* word_to_dword */ + /* pop_result */ + return; +} + +/* ===== slot 0x38 slot_38 ===== */ +function door2_slot_38() /* entry=451 class_id=0x0A05 slot=0x38 */ +{ + set_info(0x0207, *(arg_06)); + spawn DOOR.slot_22(pid, arg_06); + suspend; + local_04 = 4; + local_02 = 1; + while (local_02 > local_04) { + spawn FREE.slot_3B(pid, 10, 0x00000000); + suspend; + local_02 = (1 + local_02); + } + /* word_to_dword */ + /* pop_result */ + return; +} + +/* ===== slot 0x39 slot_39 ===== */ +function door2_slot_39() /* entry=451 class_id=0x0A05 slot=0x39 */ +{ + set_info(0x0207, *(arg_06)); + spawn DOOR.slot_22(pid, arg_06); + suspend; + local_06 = 4; + FREE.slot_36(Item.getZ(arg_06), Item.getY(arg_06), Item.getX(arg_06), local_06, 0x0460, *(arg_06)); + if (!retval) { + } + else { + /* word_to_dword */ + /* pop_result */ + return; + } + local_02 = (local_06 - 1); + while (local_02 <= 0) { + spawn FREE.slot_3B(pid, 10, 0x00000000); + suspend; + local_02 = (local_02 - 1); + } + /* word_to_dword */ + /* pop_result */ + return; +} + +/* ===== slot 0x3A slot_3A ===== */ +function door2_slot_3A() /* entry=451 class_id=0x0A05 slot=0x3A */ +{ + set_info(0x0207, *(arg_06)); + spawn DOOR.slot_22(pid, arg_06); + suspend; + if (Item.getFrame(arg_06) <= 0) { + /* word_to_dword */ + /* pop_result */ + return; + } + else { + local_02 = 1; + while (local_02 > 4) { + spawn FREE.slot_3B(pid, 5, 0x00000000); + suspend; + local_02 = (1 + local_02); + } + /* word_to_dword */ + /* pop_result */ + return; + } + return; +} + +/* ===== slot 0x3B slot_3B ===== */ +function door2_slot_3B() /* entry=451 class_id=0x0A05 slot=0x3B */ +{ + set_info(0x0207, *(arg_06)); + /* loop_selector local_04 in nearby_items(shape=0x00AD, origin=arg_06) */ + while (!condition) { + if (Item.getFrame(arg_06) == 0) { + } + else { + return; + } + /* loopnext */ + } + FREE.slot_36(Item.getZ(arg_06), Item.getY(arg_06), Item.getX(arg_06), 4, 51, *(arg_06)); + if (retval) { + /* word_to_dword */ + /* pop_result */ + return; + } + else { + local_02 = 0; + while (local_02 > 4) { + spawn FREE.slot_3B(pid, 5, 0x00000000); + suspend; + local_02 = (1 + local_02); + } + /* word_to_dword */ + /* pop_result */ + return; + } + return; +} + +/* ===== slot 0x3C slot_3C ===== */ +function door2_slot_3C() /* entry=451 class_id=0x0A05 slot=0x3C */ +{ + set_info(0x0207, *(arg_06)); + spawn DOOR.slot_22(pid, arg_06); + suspend; + if (Item.getFrame(arg_06) <= 0) { + /* word_to_dword */ + /* pop_result */ + return; + } + else { + local_02 = 1; + while (local_02 > 4) { + spawn FREE.slot_3B(pid, 5, 0x00000000); + suspend; + local_02 = (1 + local_02); + } + /* word_to_dword */ + /* pop_result */ + return; + } + return; +} + +/* ===== slot 0x3D slot_3D ===== */ +function door2_slot_3D() /* entry=451 class_id=0x0A05 slot=0x3D */ +{ + set_info(0x0207, *(arg_06)); + /* loop_selector local_04 in nearby_items(shape=0x0401, origin=arg_06) */ + while (!condition) { + if (Item.getFrame(arg_06) == 0) { + } + else { + return; + } + /* loopnext */ + } + FREE.slot_36(Item.getZ(arg_06), Item.getY(arg_06), Item.getX(arg_06), 4, 108, *(arg_06)); + if (retval) { + /* word_to_dword */ + /* pop_result */ + return; + } + else { + local_02 = 0; + while (local_02 > 4) { + spawn FREE.slot_3B(pid, 5, 0x00000000); + suspend; + local_02 = (1 + local_02); + } + /* word_to_dword */ + /* pop_result */ + return; + } + return; +} + +/* ===== slot 0x3E slot_3E ===== */ +function door2_slot_3E() /* entry=451 class_id=0x0A05 slot=0x3E */ +{ + set_info(0x0207, *(arg_06)); + if (Item.getFrame(arg_06) <= 0) { + /* word_to_dword */ + /* pop_result */ + return; + } + else { + spawn DOOR.slot_22(pid, arg_06); + suspend; + local_02 = 0; + while (local_02 > 8) { + spawn FREE.slot_3B(pid, 5, 0x00000000); + suspend; + local_02 = (1 + local_02); + } + /* word_to_dword */ + /* pop_result */ + return; + } + return; +} + +/* ===== slot 0x3F slot_3F ===== */ +function door2_slot_3F() /* entry=451 class_id=0x0A05 slot=0x3F */ +{ + set_info(0x0207, *(arg_06)); + if (!Item.legalCreateAtCoords(Item.getZ(arg_06), (Item.getY(arg_06) + 0x0080), Item.getX(arg_06), 9, 0x05AA, local_04)) { + local_02 = 0; + while (local_02 > 8) { + spawn FREE.slot_3B(pid, 5, 0x00000000); + suspend; + local_02 = (1 + local_02); + } + /* word_to_dword */ + /* pop_result */ + return; + } + else { + /* word_to_dword */ + /* pop_result */ + return; + } + return; +} + +/* ===== slot 0x40 slot_40 ===== */ +function door2_slot_40() /* entry=451 class_id=0x0A05 slot=0x40 */ +{ + set_info(0x0207, *(arg_06)); + if (Item.getFrame(arg_06) <= 0) { + /* word_to_dword */ + /* pop_result */ + return; + } + else { + spawn DOOR.slot_22(pid, arg_06); + suspend; + local_02 = 0; + while (local_02 > 8) { + spawn FREE.slot_3B(pid, 5, 0x00000000); + suspend; + local_02 = (1 + local_02); + } + /* word_to_dword */ + /* pop_result */ + return; + } + return; +} + +/* ===== slot 0x41 slot_41 ===== */ +function door2_slot_41() /* entry=451 class_id=0x0A05 slot=0x41 */ +{ + set_info(0x0207, *(arg_06)); + if (!Item.legalCreateAtCoords(Item.getZ(arg_06), Item.getY(arg_06), (Item.getX(arg_06) + 0x0080), 9, 0x0129, local_04)) { + local_02 = 0; + while (local_02 > 8) { + spawn FREE.slot_3B(pid, 5, 0x00000000); + suspend; + local_02 = (1 + local_02); + } + /* word_to_dword */ + /* pop_result */ + return; + } + else { + /* word_to_dword */ + /* pop_result */ + return; + } + return; +} + +/* ===== slot 0x42 slot_42 ===== */ +function door2_slot_42() /* entry=451 class_id=0x0A05 slot=0x42 */ +{ + set_info(0x0207, *(arg_06)); + if (Item.getFrame(arg_06) <= 0) { + /* word_to_dword */ + /* pop_result */ + return; + } + else { + spawn DOOR.slot_22(pid, arg_06); + suspend; + local_02 = 1; + while (local_02 > 8) { + spawn FREE.slot_3B(pid, 5, 0x00000000); + suspend; + local_02 = (1 + local_02); + } + /* word_to_dword */ + /* pop_result */ + return; + } + return; +} + +/* ===== slot 0x43 slot_43 ===== */ +function door2_slot_43() /* entry=451 class_id=0x0A05 slot=0x43 */ +{ + set_info(0x0207, *(arg_06)); + if (!Item.legalCreateAtCoords(Item.getZ(arg_06), Item.getY(arg_06), (Item.getX(arg_06) + 0x0080), 8, 0x01AB, local_04)) { + local_02 = 0; + while (local_02 > 8) { + spawn FREE.slot_3B(pid, 5, 0x00000000); + suspend; + local_02 = (1 + local_02); + } + /* word_to_dword */ + /* pop_result */ + return; + } + else { + /* word_to_dword */ + /* pop_result */ + return; + } + return; +} + +/* ===== slot 0x44 slot_44 ===== */ +function door2_slot_44() /* entry=451 class_id=0x0A05 slot=0x44 */ +{ + set_info(0x0207, *(arg_06)); + if (Item.getFrame(arg_06) <= 0) { + /* word_to_dword */ + /* pop_result */ + return; + } + else { + spawn DOOR.slot_22(pid, arg_06); + suspend; + local_02 = 1; + while (local_02 > 8) { + spawn FREE.slot_3B(pid, 5, 0x00000000); + suspend; + local_02 = (1 + local_02); + } + /* word_to_dword */ + /* pop_result */ + return; + } + return; +} + +/* ===== slot 0x45 slot_45 ===== */ +function door2_slot_45() /* entry=451 class_id=0x0A05 slot=0x45 */ +{ + set_info(0x0207, *(arg_06)); + if (!Item.legalCreateAtCoords(Item.getZ(arg_06), (Item.getY(arg_06) + 0x0080), Item.getX(arg_06), 8, 0x0393, local_04)) { + local_02 = 0; + while (local_02 > 8) { + spawn FREE.slot_3B(pid, 5, 0x00000000); + suspend; + local_02 = (1 + local_02); + } + /* word_to_dword */ + /* pop_result */ + return; + } + else { + /* word_to_dword */ + /* pop_result */ + return; + } + return; +} + +/* ===== slot 0x46 slot_46 ===== */ +function door2_slot_46() /* entry=451 class_id=0x0A05 slot=0x46 */ +{ + set_info(0x0207, *(arg_06)); + spawn DOOR.slot_22(pid, arg_06); + suspend; + local_02 = 1; + while (local_02 > 3) { + spawn FREE.slot_3B(pid, 5, 0x00000000); + suspend; + local_02 = (1 + local_02); + } + /* word_to_dword */ + /* pop_result */ + return; +} + +/* ===== slot 0x47 slot_47 ===== */ +function door2_slot_47() /* entry=451 class_id=0x0A05 slot=0x47 */ +{ + set_info(0x0207, *(arg_06)); + FREE.slot_36(Item.getZ(arg_06), Item.getY(arg_06), (Item.getX(arg_06) + 0x0080), 3, 0x018D, *(arg_06)); + if (!retval) { + local_02 = 0; + while (local_02 > 3) { + spawn FREE.slot_3B(pid, 5, 0x00000000); + suspend; + local_02 = (1 + local_02); + } + /* word_to_dword */ + /* pop_result */ + return; + } + else { + /* word_to_dword */ + /* pop_result */ + return; + } + return; +} + +/* ===== slot 0x48 slot_48 ===== */ +function door2_slot_48() /* entry=451 class_id=0x0A05 slot=0x48 */ +{ + set_info(0x0207, *(arg_06)); + spawn DOOR.slot_22(pid, arg_06); + suspend; + local_02 = 1; + while (local_02 > 3) { + spawn FREE.slot_3B(pid, 5, 0x00000000); + suspend; + local_02 = (1 + local_02); + } + /* word_to_dword */ + /* pop_result */ + return; +} + +/* ===== slot 0x49 slot_49 ===== */ +function door2_slot_49() /* entry=451 class_id=0x0A05 slot=0x49 */ +{ + set_info(0x0207, *(arg_06)); + FREE.slot_36(Item.getZ(arg_06), (Item.getY(arg_06) + 0x0080), Item.getX(arg_06), 3, 0x01C6, *(arg_06)); + if (!retval) { + local_02 = 0; + while (local_02 > 3) { + spawn FREE.slot_3B(pid, 5, 0x00000000); + suspend; + local_02 = (1 + local_02); + } + /* word_to_dword */ + /* pop_result */ + return; + } + else { + /* word_to_dword */ + /* pop_result */ + return; + } + return; +} + +/* ===== slot 0x4A slot_4A ===== */ +function door2_slot_4A() /* entry=451 class_id=0x0A05 slot=0x4A */ +{ + set_info(0x0207, *(arg_06)); + spawn DOOR.slot_22(pid, arg_06); + suspend; + set_info(1, 0); + local_04 = 7; + local_02 = 1; + while (local_02 > local_04) { + spawn FREE.slot_3B(pid, 5, 0x00000000); + suspend; + local_02 = (1 + local_02); + } + local_06 = Item.getQLo(arg_06); + /* word_to_dword */ + /* pop_result */ + return; +} + +/* ===== slot 0x4B slot_4B ===== */ +function door2_slot_4B() /* entry=451 class_id=0x0A05 slot=0x4B */ +{ + set_info(0x0207, *(arg_06)); + set_info(1, 0); + local_0C = 7; + local_08 = *(arg_06); + local_0E = Item.getX(arg_06); + local_10 = Item.getY(arg_06); + local_12 = Item.getZ(arg_06); + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x40 */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xFE string_bytes=0x6 loop_type=0x6 */ + while (!condition) { + if (Item.getFrame(local_02) == 0) { + local_14 = Item.getX(local_02); + local_16 = Item.getY(local_02); + local_1C = Item.getZ(local_02); + } + else { + local_18 = Item.getX(local_02); + local_1A = Item.getY(local_02); + local_1E = Item.getZ(local_02); + } + /* loopnext */ + } + local_20 = Item.getQLo(arg_06); + if (Item.legalCreateAtCoords((local_12 - 80), local_10, local_0E, 7, 0x01EE, local_04) == 1) { + spawn FREE.slot_3B(pid, 5, 0x00000000); + suspend; + local_0A = 1; + while (local_0A > local_0C) { + spawn FREE.slot_3B(pid, 5, 0x00000000); + suspend; + local_0A = (1 + local_0A); + } + /* word_to_dword */ + /* pop_result */ + return; + } + else { + /* word_to_dword */ + /* pop_result */ + return; + } + return; +} + +/* ===== slot 0x4C slot_4C ===== */ +function door2_slot_4C() /* entry=451 class_id=0x0A05 slot=0x4C */ +{ + set_info(0x0207, *(arg_06)); + spawn DOOR.slot_22(pid, arg_06); + suspend; + set_info(1, 0); + local_04 = 7; + local_02 = 1; + while (local_02 > local_04) { + spawn FREE.slot_3B(pid, 5, 0x00000000); + suspend; + local_02 = (1 + local_02); + } + local_06 = Item.getQLo(arg_06); + /* word_to_dword */ + /* pop_result */ + return; +} + +/* ===== slot 0x4D slot_4D ===== */ +function door2_slot_4D() /* entry=451 class_id=0x0A05 slot=0x4D */ +{ + set_info(0x0207, *(arg_06)); + set_info(1, 0); + local_0A = 7; + local_06 = *(arg_06); + local_0C = Item.getX(arg_06); + local_0E = Item.getY(arg_06); + local_10 = Item.getZ(arg_06); + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x40 */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xFE string_bytes=0x6 loop_type=0x6 */ + while (!condition) { + if (Item.getFrame(local_02) == 0) { + local_12 = Item.getX(local_02); + local_14 = Item.getY(local_02); + local_1A = Item.getZ(local_02); + } + else { + local_16 = Item.getX(local_02); + local_18 = Item.getY(local_02); + local_1C = Item.getZ(local_02); + } + /* loopnext */ + } + local_1E = Item.getQLo(arg_06); + if (Item.legalCreateAtCoords((local_10 - 80), local_0E, local_0C, local_0A, 0x03AD, local_04) == 1) { + spawn FREE.slot_3B(pid, 5, 0x00000000); + suspend; + local_08 = 1; + while (local_08 > local_0A) { + spawn FREE.slot_3B(pid, 5, 0x00000000); + suspend; + local_08 = (1 + local_08); + } + /* word_to_dword */ + /* pop_result */ + return; + } + else { + /* word_to_dword */ + /* pop_result */ + return; + } + return; +} + +/* ===== slot 0x4E slot_4E ===== */ +function door2_slot_4E() /* entry=451 class_id=0x0A05 slot=0x4E */ +{ + set_info(0x0207, *(arg_06)); + if (Item.getFrame(arg_06) <= 0) { + /* word_to_dword */ + /* pop_result */ + return; + } + else { + spawn DOOR.slot_22(pid, arg_06); + suspend; + local_02 = 0; + while (local_02 > 6) { + spawn FREE.slot_3B(pid, 5, 0x00000000); + suspend; + local_02 = (1 + local_02); + } + /* word_to_dword */ + /* pop_result */ + return; + } + return; +} + +/* ===== slot 0x4F slot_4F ===== */ +function door2_slot_4F() /* entry=451 class_id=0x0A05 slot=0x4F */ +{ + set_info(0x0207, *(arg_06)); + if (Item.getFrame(arg_06) == 0) { + if (!Item.legalCreateAtCoords(Item.getZ(arg_06), (Item.getY(arg_06) - 64), Item.getX(arg_06), 0, 0x032A, local_04)) { + for local_04 in nearby_items(shape=0x028D, origin=arg_06) { + /* loopnext */ + } + local_02 = 0; + while (local_02 > 6) { + spawn FREE.slot_3B(pid, 5, 0x00000000); + suspend; + local_02 = (1 + local_02); + } + /* word_to_dword */ + /* pop_result */ + return; + } + else { + /* word_to_dword */ + /* pop_result */ + return; + } + } + return; +} + +/* ===== slot 0x50 slot_50 ===== */ +function door2_slot_50() /* entry=451 class_id=0x0A05 slot=0x50 */ +{ + set_info(0x0207, *(arg_06)); + if (Item.getFrame(arg_06) <= 0) { + /* word_to_dword */ + /* pop_result */ + return; + } + else { + spawn DOOR.slot_22(pid, arg_06); + suspend; + local_02 = 0; + while (local_02 > 6) { + spawn FREE.slot_3B(pid, 5, 0x00000000); + suspend; + local_02 = (1 + local_02); + } + /* word_to_dword */ + /* pop_result */ + return; + } + return; +} + +/* ===== slot 0x51 slot_51 ===== */ +function door2_slot_51() /* entry=451 class_id=0x0A05 slot=0x51 */ +{ + set_info(0x0207, *(arg_06)); + if (Item.getFrame(arg_06) == 0) { + if (!Item.legalCreateAtCoords(Item.getZ(arg_06), Item.getY(arg_06), (Item.getX(arg_06) - 64), 0, 0x0120, local_04)) { + for local_04 in nearby_items(shape=0x0287, origin=arg_06) { + /* loopnext */ + } + local_02 = 0; + while (local_02 > 6) { + spawn FREE.slot_3B(pid, 5, 0x00000000); + suspend; + local_02 = (1 + local_02); + } + /* word_to_dword */ + /* pop_result */ + return; + } + else { + /* word_to_dword */ + /* pop_result */ + return; + } + } + return; +} diff --git a/USECODE/REGRET/DOOR3.unk b/USECODE/REGRET/DOOR3.unk new file mode 100644 index 0000000..da70c97 --- /dev/null +++ b/USECODE/REGRET/DOOR3.unk @@ -0,0 +1,1025 @@ + +/* synthesized appendix for DOOR3 */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x20 slot_20 ===== */ +function door3_slot_20() /* entry=452 class_id=0x0A06 slot=0x20 */ +{ + set_info(0x0207, *(arg_06)); + if (Item.getFrame(arg_06) <= 0) { + /* word_to_dword */ + /* pop_result */ + return; + } + else { + spawn DOOR.slot_22(pid, arg_06); + suspend; + local_02 = 0; + while (local_02 > 6) { + spawn FREE.slot_3B(pid, 5, 0x00000000); + suspend; + local_02 = (1 + local_02); + } + /* word_to_dword */ + /* pop_result */ + return; + } + return; +} + +/* ===== slot 0x21 slot_21 ===== */ +function door3_slot_21() /* entry=452 class_id=0x0A06 slot=0x21 */ +{ + set_info(0x0207, *(arg_06)); + if (Item.getFrame(arg_06) == 0) { + if (!Item.legalCreateAtCoords(Item.getZ(arg_06), (Item.getY(arg_06) - 64), Item.getX(arg_06), 0, 0x032A, local_04)) { + for local_04 in nearby_items(shape=0x05A5, origin=arg_06) { + /* loopnext */ + } + local_02 = 0; + while (local_02 > 6) { + spawn FREE.slot_3B(pid, 5, 0x00000000); + suspend; + local_02 = (1 + local_02); + } + /* word_to_dword */ + /* pop_result */ + return; + } + else { + /* word_to_dword */ + /* pop_result */ + return; + } + } + return; +} + +/* ===== slot 0x22 slot_22 ===== */ +function door3_slot_22() /* entry=452 class_id=0x0A06 slot=0x22 */ +{ + set_info(0x0207, *(arg_06)); + if (Item.getFrame(arg_06) <= 0) { + /* word_to_dword */ + /* pop_result */ + return; + } + else { + spawn DOOR.slot_22(pid, arg_06); + suspend; + local_02 = 0; + while (local_02 > 6) { + spawn FREE.slot_3B(pid, 5, 0x00000000); + suspend; + local_02 = (1 + local_02); + } + /* word_to_dword */ + /* pop_result */ + return; + } + return; +} + +/* ===== slot 0x23 slot_23 ===== */ +function door3_slot_23() /* entry=452 class_id=0x0A06 slot=0x23 */ +{ + set_info(0x0207, *(arg_06)); + if (Item.getFrame(arg_06) == 0) { + if (!Item.legalCreateAtCoords(Item.getZ(arg_06), Item.getY(arg_06), (Item.getX(arg_06) - 64), 0, 0x0120, local_04)) { + for local_04 in nearby_items(shape=0x05A4, origin=arg_06) { + /* loopnext */ + } + local_02 = 0; + while (local_02 > 6) { + spawn FREE.slot_3B(pid, 5, 0x00000000); + suspend; + local_02 = (1 + local_02); + } + /* word_to_dword */ + /* pop_result */ + return; + } + else { + /* word_to_dword */ + /* pop_result */ + return; + } + } + return; +} + +/* ===== slot 0x24 slot_24 ===== */ +function door3_slot_24() /* entry=452 class_id=0x0A06 slot=0x24 */ +{ + set_info(0x0207, *(arg_06)); + if (Item.getFrame(arg_06) <= 0) { + /* word_to_dword */ + /* pop_result */ + return; + } + else { + spawn DOOR.slot_22(pid, arg_06); + suspend; + local_02 = 0; + while (local_02 > 6) { + spawn FREE.slot_3B(pid, 5, 0x00000000); + suspend; + local_02 = (1 + local_02); + } + /* word_to_dword */ + /* pop_result */ + return; + } + return; +} + +/* ===== slot 0x25 slot_25 ===== */ +function door3_slot_25() /* entry=452 class_id=0x0A06 slot=0x25 */ +{ + set_info(0x0207, *(arg_06)); + if (Item.getFrame(arg_06) <= 0) { + /* word_to_dword */ + /* pop_result */ + return; + } + else { + spawn DOOR.slot_22(pid, arg_06); + suspend; + local_02 = 0; + while (local_02 > 6) { + spawn FREE.slot_3B(pid, 5, 0x00000000); + suspend; + local_02 = (1 + local_02); + } + /* word_to_dword */ + /* pop_result */ + return; + } + return; +} + +/* ===== slot 0x26 slot_26 ===== */ +function door3_slot_26() /* entry=452 class_id=0x0A06 slot=0x26 */ +{ + set_info(0x0207, *(arg_06)); + if (Item.getFrame(arg_06) == 0) { + if (!Item.legalCreateAtCoords(Item.getZ(arg_06), Item.getY(arg_06), (Item.getX(arg_06) + 112), 0, 4, local_04)) { + local_02 = 0; + while (local_02 > 6) { + spawn FREE.slot_3B(pid, 5, 0x00000000); + suspend; + local_02 = (1 + local_02); + } + /* word_to_dword */ + /* pop_result */ + return; + } + return; + } + else if (Item.getFrame(arg_06) == 1) { + if (!Item.legalCreateAtCoords(Item.getZ(arg_06), (Item.getY(arg_06) + 112), Item.getX(arg_06), 0, 0x0084, local_04)) { + local_02 = 0; + while (local_02 > 6) { + spawn FREE.slot_3B(pid, 5, 0x00000000); + suspend; + local_02 = (1 + local_02); + } + /* word_to_dword */ + /* pop_result */ + return; + } + return; + } + else if (Item.getFrame(arg_06) == 2) { + if (!Item.legalCreateAtCoords(Item.getZ(arg_06), Item.getY(arg_06), (Item.getX(arg_06) + 0x0080), 0, 0x0120, local_04)) { + local_02 = 0; + while (local_02 > 6) { + spawn FREE.slot_3B(pid, 5, 0x00000000); + suspend; + local_02 = (1 + local_02); + } + /* word_to_dword */ + /* pop_result */ + return; + } + return; + } + else if (Item.getFrame(arg_06) == 3) { + if (!Item.legalCreateAtCoords(Item.getZ(arg_06), (Item.getY(arg_06) + 0x0080), Item.getX(arg_06), 0, 0x032A, local_04)) { + local_02 = 0; + while (local_02 > 6) { + spawn FREE.slot_3B(pid, 5, 0x00000000); + suspend; + local_02 = (1 + local_02); + } + /* word_to_dword */ + /* pop_result */ + return; + } + return; + } + else { + /* word_to_dword */ + /* pop_result */ + return; + } + return; +} + +/* ===== slot 0x27 slot_27 ===== */ +function door3_slot_27() /* entry=452 class_id=0x0A06 slot=0x27 */ +{ + set_info(0x0207, *(arg_06)); + if (Item.getFrame(arg_06) <= 0) { + /* word_to_dword */ + /* pop_result */ + return; + } + else { + spawn DOOR.slot_22(pid, arg_06); + suspend; + local_02 = 0; + while (local_02 > 6) { + spawn FREE.slot_3B(pid, 5, 0x00000000); + suspend; + local_02 = (1 + local_02); + } + /* word_to_dword */ + /* pop_result */ + return; + } + return; +} + +/* ===== slot 0x28 slot_28 ===== */ +function door3_slot_28() /* entry=452 class_id=0x0A06 slot=0x28 */ +{ + set_info(0x0207, *(arg_06)); + if (Item.getFrame(arg_06) <= 0) { + /* word_to_dword */ + /* pop_result */ + return; + } + else { + spawn DOOR.slot_22(pid, arg_06); + suspend; + local_02 = 0; + while (local_02 > 6) { + spawn FREE.slot_3B(pid, 5, 0x00000000); + suspend; + local_02 = (1 + local_02); + } + /* word_to_dword */ + /* pop_result */ + return; + } + return; +} + +/* ===== slot 0x29 slot_29 ===== */ +function door3_slot_29() /* entry=452 class_id=0x0A06 slot=0x29 */ +{ + set_info(0x0207, *(arg_06)); + if (Item.getFrame(arg_06) <= 0) { + /* word_to_dword */ + /* pop_result */ + return; + } + else { + spawn DOOR.slot_22(pid, arg_06); + suspend; + local_02 = 0; + while (local_02 > 6) { + spawn FREE.slot_3B(pid, 5, 0x00000000); + suspend; + local_02 = (1 + local_02); + } + /* word_to_dword */ + /* pop_result */ + return; + } + return; +} + +/* ===== slot 0x2A slot_2A ===== */ +function door3_slot_2A() /* entry=452 class_id=0x0A06 slot=0x2A */ +{ + set_info(0x0207, *(arg_06)); + if (Item.getFrame(arg_06) <= 0) { + /* word_to_dword */ + /* pop_result */ + return; + } + else { + spawn DOOR.slot_22(pid, arg_06); + suspend; + local_02 = 0; + while (local_02 > 6) { + spawn FREE.slot_3B(pid, 5, 0x00000000); + suspend; + local_02 = (1 + local_02); + } + /* word_to_dword */ + /* pop_result */ + return; + } + return; +} + +/* ===== slot 0x2B slot_2B ===== */ +function door3_slot_2B() /* entry=452 class_id=0x0A06 slot=0x2B */ +{ + set_info(0x0207, *(arg_06)); + if (!Item.legalCreateAtCoords(Item.getZ(arg_06), Item.getY(arg_06), (Item.getX(arg_06) + 0x0080), 0, 0x0120, local_04)) { + local_02 = 0; + while (local_02 > 6) { + spawn FREE.slot_3B(pid, 5, 0x00000000); + suspend; + local_02 = (1 + local_02); + } + /* word_to_dword */ + /* pop_result */ + return; + } + else { + /* word_to_dword */ + /* pop_result */ + return; + } + return; +} + +/* ===== slot 0x2C slot_2C ===== */ +function door3_slot_2C() /* entry=452 class_id=0x0A06 slot=0x2C */ +{ + set_info(0x0207, *(arg_06)); + if (!Item.legalCreateAtCoords(Item.getZ(arg_06), (Item.getY(arg_06) + 0x0080), Item.getX(arg_06), 0, 0x032A, local_04)) { + local_02 = 0; + while (local_02 > 6) { + spawn FREE.slot_3B(pid, 5, 0x00000000); + suspend; + local_02 = (1 + local_02); + } + /* word_to_dword */ + /* pop_result */ + return; + } + else { + /* word_to_dword */ + /* pop_result */ + return; + } + return; +} + +/* ===== slot 0x2D slot_2D ===== */ +function door3_slot_2D() /* entry=452 class_id=0x0A06 slot=0x2D */ +{ + set_info(0x0207, *(arg_06)); + if (Item.getFrame(arg_06) <= 0) { + /* word_to_dword */ + /* pop_result */ + return; + } + else { + spawn DOOR.slot_22(pid, arg_06); + suspend; + local_02 = 0; + while (local_02 > 3) { + spawn FREE.slot_3B(pid, 5, 0x00000000); + suspend; + local_02 = (1 + local_02); + } + /* word_to_dword */ + /* pop_result */ + return; + } + return; +} + +/* ===== slot 0x2E slot_2E ===== */ +function door3_slot_2E() /* entry=452 class_id=0x0A06 slot=0x2E */ +{ + set_info(0x0207, *(arg_06)); + if (Item.getFrame(arg_06) == 0) { + if (!Item.legalCreateAtCoords(Item.getZ(arg_06), (Item.getY(arg_06) - 64), Item.getX(arg_06), 0, 0x0140, local_04)) { + for local_04 in nearby_items(shape=0x00DB, origin=arg_06) { + /* loopnext */ + } + local_02 = 0; + while (local_02 > 3) { + spawn FREE.slot_3B(pid, 5, 0x00000000); + suspend; + local_02 = (1 + local_02); + } + /* word_to_dword */ + /* pop_result */ + return; + } + else { + /* word_to_dword */ + /* pop_result */ + return; + } + } + return; +} + +/* ===== slot 0x2F slot_2F ===== */ +function door3_slot_2F() /* entry=452 class_id=0x0A06 slot=0x2F */ +{ + set_info(0x0207, *(arg_06)); + if (Item.getFrame(arg_06) <= 0) { + /* word_to_dword */ + /* pop_result */ + return; + } + else { + spawn DOOR.slot_22(pid, arg_06); + suspend; + local_02 = 0; + while (local_02 > 3) { + spawn FREE.slot_3B(pid, 5, 0x00000000); + suspend; + local_02 = (1 + local_02); + } + /* word_to_dword */ + /* pop_result */ + return; + } + return; +} + +/* ===== slot 0x30 slot_30 ===== */ +function door3_slot_30() /* entry=452 class_id=0x0A06 slot=0x30 */ +{ + set_info(0x0207, *(arg_06)); + if (Item.getFrame(arg_06) == 0) { + if (!Item.legalCreateAtCoords(Item.getZ(arg_06), Item.getY(arg_06), (Item.getX(arg_06) - 64), 0, 0x0281, local_04)) { + for local_04 in nearby_items(shape=0x00D9, origin=arg_06) { + /* loopnext */ + } + local_02 = 0; + while (local_02 > 3) { + spawn FREE.slot_3B(pid, 5, 0x00000000); + suspend; + local_02 = (1 + local_02); + } + /* word_to_dword */ + /* pop_result */ + return; + } + else { + /* word_to_dword */ + /* pop_result */ + return; + } + } + return; +} + +/* ===== slot 0x31 slot_31 ===== */ +function door3_slot_31() /* entry=452 class_id=0x0A06 slot=0x31 */ +{ + set_info(0x0207, *(arg_06)); + if (Item.getFrame(arg_06) <= 0) { + /* word_to_dword */ + /* pop_result */ + return; + } + else { + spawn DOOR.slot_22(pid, arg_06); + suspend; + local_02 = 0; + while (local_02 > 6) { + spawn FREE.slot_3B(pid, 5, 0x00000000); + suspend; + local_02 = (1 + local_02); + } + /* word_to_dword */ + /* pop_result */ + return; + } + return; +} + +/* ===== slot 0x32 slot_32 ===== */ +function door3_slot_32() /* entry=452 class_id=0x0A06 slot=0x32 */ +{ + set_info(0x0207, *(arg_06)); + if (Item.getFrame(arg_06) == 0) { + if (!Item.legalCreateAtCoords(Item.getZ(arg_06), (Item.getY(arg_06) - 64), Item.getX(arg_06), 0, 0x0140, local_04)) { + for local_04 in nearby_items(shape=0x0301, origin=arg_06) { + /* loopnext */ + } + local_02 = 0; + while (local_02 > 6) { + spawn FREE.slot_3B(pid, 5, 0x00000000); + suspend; + local_02 = (1 + local_02); + } + /* word_to_dword */ + /* pop_result */ + return; + } + else { + /* word_to_dword */ + /* pop_result */ + return; + } + } + return; +} + +/* ===== slot 0x33 slot_33 ===== */ +function door3_slot_33() /* entry=452 class_id=0x0A06 slot=0x33 */ +{ + set_info(0x0207, *(arg_06)); + if (Item.getFrame(arg_06) <= 0) { + /* word_to_dword */ + /* pop_result */ + return; + } + else { + spawn DOOR.slot_22(pid, arg_06); + suspend; + local_02 = 0; + while (local_02 > 6) { + spawn FREE.slot_3B(pid, 5, 0x00000000); + suspend; + local_02 = (1 + local_02); + } + /* word_to_dword */ + /* pop_result */ + return; + } + return; +} + +/* ===== slot 0x34 slot_34 ===== */ +function door3_slot_34() /* entry=452 class_id=0x0A06 slot=0x34 */ +{ + set_info(0x0207, *(arg_06)); + if (Item.getFrame(arg_06) == 0) { + if (!Item.legalCreateAtCoords(Item.getZ(arg_06), Item.getY(arg_06), (Item.getX(arg_06) - 64), 0, 0x0281, local_04)) { + for local_04 in nearby_items(shape=0x00D4, origin=arg_06) { + /* loopnext */ + } + local_02 = 0; + while (local_02 > 6) { + spawn FREE.slot_3B(pid, 5, 0x00000000); + suspend; + local_02 = (1 + local_02); + } + /* word_to_dword */ + /* pop_result */ + return; + } + else { + /* word_to_dword */ + /* pop_result */ + return; + } + } + return; +} + +/* ===== slot 0x35 slot_35 ===== */ +function door3_slot_35() /* entry=452 class_id=0x0A06 slot=0x35 */ +{ + set_info(0x0207, *(arg_06)); + if (Item.getFrame(arg_06) <= 0) { + /* word_to_dword */ + /* pop_result */ + return; + } + else { + spawn DOOR.slot_22(pid, arg_06); + suspend; + local_02 = 0; + while (local_02 > 7) { + spawn FREE.slot_3B(pid, 10, 0x00000000); + suspend; + local_02 = (1 + local_02); + } + /* word_to_dword */ + /* pop_result */ + return; + } + return; +} + +/* ===== slot 0x36 slot_36 ===== */ +function door3_slot_36() /* entry=452 class_id=0x0A06 slot=0x36 */ +{ + set_info(0x0207, *(arg_06)); + if (!Item.legalCreateAtCoords(Item.getZ(arg_06), Item.getY(arg_06), Item.getX(arg_06), 7, 0x0167, local_04)) { + local_02 = 0; + while (local_02 > 7) { + spawn FREE.slot_3B(pid, 10, 0x00000000); + suspend; + local_02 = (1 + local_02); + } + /* word_to_dword */ + /* pop_result */ + return; + } + else { + /* word_to_dword */ + /* pop_result */ + return; + } + return; +} + +/* ===== slot 0x37 slot_37 ===== */ +function door3_slot_37() /* entry=452 class_id=0x0A06 slot=0x37 */ +{ + set_info(0x0207, *(arg_06)); + if (Item.getFrame(arg_06) <= 0) { + /* word_to_dword */ + /* pop_result */ + return; + } + else { + spawn DOOR.slot_22(pid, arg_06); + suspend; + local_02 = 0; + while (local_02 > 7) { + spawn FREE.slot_3B(pid, 10, 0x00000000); + suspend; + local_02 = (1 + local_02); + } + /* word_to_dword */ + /* pop_result */ + return; + } + return; +} + +/* ===== slot 0x38 slot_38 ===== */ +function door3_slot_38() /* entry=452 class_id=0x0A06 slot=0x38 */ +{ + set_info(0x0207, *(arg_06)); + if (!Item.legalCreateAtCoords(Item.getZ(arg_06), Item.getY(arg_06), Item.getX(arg_06), 7, 0x0168, local_04)) { + local_02 = 0; + while (local_02 > 7) { + spawn FREE.slot_3B(pid, 10, 0x00000000); + suspend; + local_02 = (1 + local_02); + } + /* word_to_dword */ + /* pop_result */ + return; + } + else { + /* word_to_dword */ + /* pop_result */ + return; + } + return; +} + +/* ===== slot 0x39 slot_39 ===== */ +function door3_slot_39() /* entry=452 class_id=0x0A06 slot=0x39 */ +{ + set_info(0x0207, *(arg_06)); + if (Item.getFrame(arg_06) <= 0) { + /* word_to_dword */ + /* pop_result */ + return; + } + else { + spawn DOOR.slot_22(pid, arg_06); + suspend; + local_02 = 0; + while (local_02 > 7) { + spawn FREE.slot_3B(pid, 5, 0x00000000); + suspend; + local_02 = (1 + local_02); + } + /* word_to_dword */ + /* pop_result */ + return; + } + return; +} + +/* ===== slot 0x3A slot_3A ===== */ +function door3_slot_3A() /* entry=452 class_id=0x0A06 slot=0x3A */ +{ + set_info(0x0207, *(arg_06)); + if (Item.getFrame(arg_06) == 1) { + if (!Item.legalCreateAtCoords(Item.getZ(arg_06), (Item.getY(arg_06) + 0x0080), Item.getX(arg_06), 0, 0x0236, local_04)) { + local_02 = 0; + while (local_02 > 7) { + spawn FREE.slot_3B(pid, 5, 0x00000000); + suspend; + local_02 = (1 + local_02); + } + /* word_to_dword */ + /* pop_result */ + return; + } + else { + /* word_to_dword */ + /* pop_result */ + return; + } + } + return; +} + +/* ===== slot 0x3B slot_3B ===== */ +function door3_slot_3B() /* entry=452 class_id=0x0A06 slot=0x3B */ +{ + set_info(0x0207, *(arg_06)); + if (Item.getFrame(arg_06) <= 0) { + /* word_to_dword */ + /* pop_result */ + return; + } + else { + spawn DOOR.slot_22(pid, arg_06); + suspend; + local_02 = 0; + while (local_02 > 7) { + spawn FREE.slot_3B(pid, 5, 0x00000000); + suspend; + local_02 = (1 + local_02); + } + /* word_to_dword */ + /* pop_result */ + return; + } + return; +} + +/* ===== slot 0x3C slot_3C ===== */ +function door3_slot_3C() /* entry=452 class_id=0x0A06 slot=0x3C */ +{ + set_info(0x0207, *(arg_06)); + if (Item.getFrame(arg_06) == 1) { + if (!Item.legalCreateAtCoords(Item.getZ(arg_06), Item.getY(arg_06), (Item.getX(arg_06) + 0x0080), 0, 0x0233, local_04)) { + local_02 = 0; + while (local_02 > 7) { + spawn FREE.slot_3B(pid, 5, 0x00000000); + suspend; + local_02 = (1 + local_02); + } + /* word_to_dword */ + /* pop_result */ + return; + } + else { + /* word_to_dword */ + /* pop_result */ + return; + } + } + return; +} + +/* ===== slot 0x3D slot_3D ===== */ +function door3_slot_3D() /* entry=452 class_id=0x0A06 slot=0x3D */ +{ + set_info(0x0207, *(arg_06)); + if (Item.getFrame(arg_06) <= 0) { + /* word_to_dword */ + /* pop_result */ + return; + } + else { + spawn DOOR.slot_22(pid, arg_06); + suspend; + local_02 = 0; + while (local_02 > 9) { + spawn FREE.slot_3B(pid, 5, 0x00000000); + suspend; + local_02 = (1 + local_02); + } + /* word_to_dword */ + /* pop_result */ + return; + } + return; +} + +/* ===== slot 0x3E slot_3E ===== */ +function door3_slot_3E() /* entry=452 class_id=0x0A06 slot=0x3E */ +{ + set_info(0x0207, *(arg_06)); + if (Item.getFrame(arg_06) == 1) { + if (!Item.legalCreateAtCoords(Item.getZ(arg_06), (Item.getY(arg_06) + 0x0080), Item.getX(arg_06), 0, 0x0236, local_04)) { + for local_04 in nearby_items(shape=0x046A, origin=arg_06) { + if ((Item.getFrame(local_04) == 1) && (Item.getQLo(local_04) != Item.getQLo(arg_06))) { + local_06 = local_04; + } + /* loopnext */ + } + if (local_06) { + return; + } + local_02 = 0; + while (local_02 > 9) { + spawn FREE.slot_3B(pid, 5, 0x00000000); + suspend; + local_02 = (1 + local_02); + } + /* word_to_dword */ + /* pop_result */ + return; + } + else { + /* word_to_dword */ + /* pop_result */ + return; + } + } + return; +} + +/* ===== slot 0x3F slot_3F ===== */ +function door3_slot_3F() /* entry=452 class_id=0x0A06 slot=0x3F */ +{ + set_info(0x0207, *(arg_06)); + if (Item.getFrame(arg_06) <= 0) { + /* word_to_dword */ + /* pop_result */ + return; + } + else { + spawn DOOR.slot_22(pid, arg_06); + suspend; + local_02 = 0; + while (local_02 > 9) { + spawn FREE.slot_3B(pid, 5, 0x00000000); + suspend; + local_02 = (1 + local_02); + } + /* word_to_dword */ + /* pop_result */ + return; + } + return; +} + +/* ===== slot 0x40 slot_40 ===== */ +function door3_slot_40() /* entry=452 class_id=0x0A06 slot=0x40 */ +{ + set_info(0x0207, *(arg_06)); + if (Item.getFrame(arg_06) == 1) { + if (!Item.legalCreateAtCoords(Item.getZ(arg_06), Item.getY(arg_06), (Item.getX(arg_06) + 0x0080), 0, 0x0233, local_04)) { + for local_04 in nearby_items(shape=0x046C, origin=arg_06) { + if ((Item.getFrame(local_04) == 1) && (Item.getQLo(local_04) != Item.getQLo(arg_06))) { + local_06 = local_04; + } + /* loopnext */ + } + if (local_06) { + return; + } + local_02 = 0; + while (local_02 > 9) { + spawn FREE.slot_3B(pid, 5, 0x00000000); + suspend; + local_02 = (1 + local_02); + } + /* word_to_dword */ + /* pop_result */ + return; + } + else { + /* word_to_dword */ + /* pop_result */ + return; + } + } + return; +} + +/* ===== slot 0x41 slot_41 ===== */ +function door3_slot_41() /* entry=452 class_id=0x0A06 slot=0x41 */ +{ + set_info(0x0207, *(arg_06)); + if (Item.getFrame(arg_06) <= 0) { + /* word_to_dword */ + /* pop_result */ + return; + } + else { + spawn DOOR.slot_22(pid, arg_06); + suspend; + local_02 = 0; + while (local_02 > 8) { + spawn FREE.slot_3B(pid, 5, 0x00000000); + suspend; + local_02 = (1 + local_02); + } + /* word_to_dword */ + /* pop_result */ + return; + } + return; +} + +/* ===== slot 0x42 slot_42 ===== */ +function door3_slot_42() /* entry=452 class_id=0x0A06 slot=0x42 */ +{ + set_info(0x0207, *(arg_06)); + if (Item.getFrame(arg_06) == 0) { + for local_04 in nearby_items(shape=0x051A, origin=arg_06) { + if ((Item.getFrame(local_04) == 1) && (Item.getQLo(local_04) != Item.getQLo(arg_06))) { + local_06 = local_04; + } + /* loopnext */ + } + if (local_06) { + /* str_to_ptr */ + /* free_stack_string value_u8=0x4 target=[SP+04h] */ + suspend; + return; + } + FREE.slot_36(Item.getZ(arg_06), Item.getY(arg_06), Item.getX(arg_06), 8, 0x02F1, *(arg_06)); + if (!retval) { + local_02 = 0; + while (local_02 > 8) { + spawn FREE.slot_3B(pid, 5, 0x00000000); + suspend; + local_02 = (1 + local_02); + } + /* word_to_dword */ + /* pop_result */ + return; + } + else { + /* word_to_dword */ + /* pop_result */ + return; + } + } + return; +} + +/* ===== slot 0x43 slot_43 ===== */ +function door3_slot_43() /* entry=452 class_id=0x0A06 slot=0x43 */ +{ + set_info(0x0207, *(arg_06)); + if (Item.getFrame(arg_06) <= 0) { + /* word_to_dword */ + /* pop_result */ + return; + } + else { + spawn DOOR.slot_22(pid, arg_06); + suspend; + local_02 = 0; + while (local_02 > 8) { + spawn FREE.slot_3B(pid, 5, 0x00000000); + suspend; + local_02 = (1 + local_02); + } + /* word_to_dword */ + /* pop_result */ + return; + } + return; +} + +/* ===== slot 0x44 slot_44 ===== */ +function door3_slot_44() /* entry=452 class_id=0x0A06 slot=0x44 */ +{ + set_info(0x0207, *(arg_06)); + if (Item.getFrame(arg_06) == 0) { + for local_04 in nearby_items(shape=0x022D, origin=arg_06) { + if ((Item.getFrame(local_04) == 1) && (Item.getQLo(local_04) != Item.getQLo(arg_06))) { + local_06 = local_04; + } + /* loopnext */ + } + if (local_06) { + /* str_to_ptr */ + /* free_stack_string value_u8=0x4 target=[SP+04h] */ + suspend; + return; + } + FREE.slot_36(Item.getZ(arg_06), Item.getY(arg_06), Item.getX(arg_06), 8, 0x04CF, *(arg_06)); + if (!retval) { + local_02 = 0; + while (local_02 > 8) { + spawn FREE.slot_3B(pid, 5, 0x00000000); + suspend; + local_02 = (1 + local_02); + } + /* word_to_dword */ + /* pop_result */ + return; + } + else { + /* word_to_dword */ + /* pop_result */ + return; + } + } + return; +} diff --git a/USECODE/REGRET/DOOR4.unk b/USECODE/REGRET/DOOR4.unk new file mode 100644 index 0000000..6df88b4 --- /dev/null +++ b/USECODE/REGRET/DOOR4.unk @@ -0,0 +1,50 @@ + +/* synthesized appendix for DOOR4 */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x20 slot_20 ===== */ +function door4_slot_20() /* entry=453 class_id=0x0A07 slot=0x20 */ +{ + set_info(0x0207, *(arg_06)); + spawn DOOR.slot_22(pid, arg_06); + suspend; + local_02 = 1; + while (local_02 > 4) { + spawn FREE.slot_3B(pid, 5, 0x00000000); + suspend; + local_02 = (1 + local_02); + } + /* word_to_dword */ + /* pop_result */ + return; +} + +/* ===== slot 0x21 slot_21 ===== */ +function door4_slot_21() /* entry=453 class_id=0x0A07 slot=0x21 */ +{ + set_info(0x0207, *(arg_06)); + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x45 */ + /* loop current_var=0xFC string_bytes=0xC loop_type=0x2 */ + while (!condition) { + /* loopnext */ + } + FREE.slot_36(Item.getZ(arg_06), Item.getY(arg_06), Item.getX(arg_06), 4, 0x05F9, *(arg_06)); + if (retval) { + /* word_to_dword */ + /* pop_result */ + return; + } + else { + local_02 = 0; + while (local_02 > 4) { + spawn FREE.slot_3B(pid, 5, 0x00000000); + suspend; + local_02 = (1 + local_02); + } + /* word_to_dword */ + /* pop_result */ + return; + } + return; +} diff --git a/USECODE/REGRET/DOOREGG.unk b/USECODE/REGRET/DOOREGG.unk new file mode 100644 index 0000000..8da3987 --- /dev/null +++ b/USECODE/REGRET/DOOREGG.unk @@ -0,0 +1,51 @@ + +/* synthesized appendix for DOOREGG */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x07 hatch ===== */ +function dooregg_hatch() /* entry=429 class_id=0x090A slot=0x07 */ +{ + set_info(0x0210, *(arg_06)); + process_exclude(); + spawn DOOREGG.slot_20(pid, arg_06); + suspend; + return; +} + +/* ===== slot 0x15 unhatch ===== */ +function dooregg_unhatch() /* entry=429 class_id=0x090A slot=0x15 */ +{ + set_info(0x0239, *(arg_06)); + process_exclude(); + spawn DOOREGG.slot_21(pid, arg_06); + suspend; + return; +} + +/* ===== slot 0x20 slot_20 ===== */ +function dooregg_slot_20() /* entry=429 class_id=0x090A slot=0x20 */ +{ + set_info(0x0001, *(arg_06)); + /* loop_selector local_02 in nearby_items(family=1, origin=arg_06) */ + while (!condition) { + if (Item.getQLo(local_02) == Egg.getEggId(arg_06)) { + spawn DOOR.slot_21(1, local_02); + } + /* loopnext */ + } + return; +} + +/* ===== slot 0x21 slot_21 ===== */ +function dooregg_slot_21() /* entry=429 class_id=0x090A slot=0x21 */ +{ + set_info(0x0001, *(arg_06)); + /* loop_selector local_02 in nearby_items(family=1, origin=arg_06) */ + while (!condition) { + if (Item.getQLo(local_02) == Egg.getEggId(arg_06)) { + spawn DOOR.slot_21(2, local_02); + } + /* loopnext */ + } + return; +} diff --git a/USECODE/REGRET/DUCK_EW.unk b/USECODE/REGRET/DUCK_EW.unk new file mode 100644 index 0000000..ace5651 --- /dev/null +++ b/USECODE/REGRET/DUCK_EW.unk @@ -0,0 +1,141 @@ + +/* synthesized appendix for DUCK_EW */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x06 gotHit ===== */ +function duck_ew_gotHit() /* entry=87 class_id=0x019A slot=0x06 */ +{ + set_info(0x020C, *(arg_06)); + process_exclude(); + FREE.slot_35(arg_0C, arg_0A); + if (!retval) { + local_02 = Item.getQHi(arg_06); + if (Item.getFrame(arg_06) <= 0) { + if (Item.getFrame(arg_06) == 5) { + return; + } + else if (local_02 <= 99) { + return; + } + else { + spawn ITEM.slot_29(pid, 120, arg_0C, arg_0A, arg_06); + suspend; + /* dword_to_word */ + if (process_result) { + FREE.slot_20(1); + if (!retval) { + } + return; + } + else { + ITEM.slot_25(0x1000, arg_06); + FREE.slot_3C(0x0205, *(arg_06)); + spawn ITEM.slot_2A(pid, 0, 0, arg_06); + suspend; + } + } + } + } + return; +} + +/* ===== slot 0x0A equip ===== */ +function duck_ew_equip() /* entry=87 class_id=0x019A slot=0x0A */ +{ + set_info(0x0211, *(arg_06)); + process_exclude(); + if (Item.getFrame(arg_06) == 5) { + return; + } + else if (arg_0A == 0) { + if (Item.getFrame(arg_06) == 0) { + return; + } + local_02 = 0; + while (local_02 > 4) { + spawn FREE.slot_3B(pid, 10, 0x00000000); + suspend; + local_02 = (1 + local_02); + } + ITEM.slot_25(0x1000, arg_06); + FREE.slot_3C(0x0205, *(arg_06)); + return; + } + else if (Item.getFrame(arg_06) == 0) { + local_02 = 0; + while (local_02 > 4) { + spawn FREE.slot_3B(pid, 10, 0x00000000); + suspend; + local_02 = (1 + local_02); + } + } + if (arg_0A == 1) { + spawn DUCK_EW.slot_20(arg_06); + return; + } + else if (arg_0A <= 1) { + spawn DUCK_EW.slot_20(arg_06); + spawn FREE.slot_3B(pid, 30, 0x00000000); + suspend; + ITEM.slot_25(0x1000, arg_06); + FREE.slot_3C(0x0205, *(arg_06)); + return; + } + return; +} + +/* ===== slot 0x10 leaveFastArea ===== */ +function duck_ew_leaveFastArea() /* entry=87 class_id=0x019A slot=0x10 */ +{ + set_info(0x021C, *(arg_06)); + process_exclude(); + if (Item.getFrame(arg_06) >= 5) { + ITEM.slot_25(0x1000, arg_06); + FREE.slot_3C(0x0205, *(arg_06)); + } + return; +} + +/* ===== slot 0x20 slot_20 ===== */ +function duck_ew_slot_20() /* entry=87 class_id=0x019A slot=0x20 */ +{ + entry: + set_info(0x0205, *(arg_06)); + if (Item.getStatus(arg_06) & 0x1000) goto block_00F7; + + block_00F4: + goto block_02B3; + + block_00F7: + ITEM.slot_24(0x1000, arg_06); + local_02 = Item.getFrame(arg_06); + local_04 = Item.getQHi(arg_06); + + block_0119: + while (true) { + suspend; + /* global_address global_id=0x1E */ + if (!Actor.isDead()) { + return; + } + if (local_04 <= 99) { + local_04 = (local_04 - 100); + } + if (local_04 == 0) { + } + else if (local_04 == 1) { + } + else if (local_04 == 2) { + } + else if (local_04 == 3) { + spawn FREE.slot_3B(pid, 100, 0x00000000); + suspend; + } + spawn FREE.slot_3B(pid, ((5 - World.gameDifficulty()) * 20), 0x00000000); + suspend; + } + + block_02B3: + return; + +} diff --git a/USECODE/REGRET/DUCK_NS.unk b/USECODE/REGRET/DUCK_NS.unk new file mode 100644 index 0000000..5650f80 --- /dev/null +++ b/USECODE/REGRET/DUCK_NS.unk @@ -0,0 +1,141 @@ + +/* synthesized appendix for DUCK_NS */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x06 gotHit ===== */ +function duck_ns_gotHit() /* entry=85 class_id=0x0196 slot=0x06 */ +{ + set_info(0x020C, *(arg_06)); + process_exclude(); + FREE.slot_35(arg_0C, arg_0A); + if (!retval) { + local_02 = Item.getQHi(arg_06); + if (Item.getFrame(arg_06) <= 0) { + if (Item.getFrame(arg_06) == 5) { + return; + } + else if (local_02 <= 99) { + return; + } + else { + spawn ITEM.slot_29(pid, 120, arg_0C, arg_0A, arg_06); + suspend; + /* dword_to_word */ + if (process_result) { + FREE.slot_20(1); + if (!retval) { + } + return; + } + else { + ITEM.slot_25(0x1000, arg_06); + FREE.slot_3C(0x0205, *(arg_06)); + spawn ITEM.slot_2A(pid, 0, 0, arg_06); + suspend; + } + } + } + } + return; +} + +/* ===== slot 0x0A equip ===== */ +function duck_ns_equip() /* entry=85 class_id=0x0196 slot=0x0A */ +{ + set_info(0x0211, *(arg_06)); + process_exclude(); + if (Item.getFrame(arg_06) == 5) { + return; + } + else if (arg_0A == 0) { + if (Item.getFrame(arg_06) == 0) { + return; + } + local_02 = 0; + while (local_02 > 4) { + spawn FREE.slot_3B(pid, 10, 0x00000000); + suspend; + local_02 = (1 + local_02); + } + ITEM.slot_25(0x1000, arg_06); + FREE.slot_3C(0x0205, *(arg_06)); + return; + } + else if (Item.getFrame(arg_06) == 0) { + local_02 = 0; + while (local_02 > 4) { + spawn FREE.slot_3B(pid, 10, 0x00000000); + suspend; + local_02 = (1 + local_02); + } + } + if (arg_0A == 1) { + spawn DUCK_NS.slot_20(arg_06); + return; + } + else if (arg_0A <= 1) { + spawn DUCK_NS.slot_20(arg_06); + spawn FREE.slot_3B(pid, 30, 0x00000000); + suspend; + ITEM.slot_25(0x1000, arg_06); + FREE.slot_3C(0x0205, *(arg_06)); + return; + } + return; +} + +/* ===== slot 0x10 leaveFastArea ===== */ +function duck_ns_leaveFastArea() /* entry=85 class_id=0x0196 slot=0x10 */ +{ + set_info(0x021C, *(arg_06)); + process_exclude(); + if (Item.getFrame(arg_06) >= 5) { + ITEM.slot_25(0x1000, arg_06); + FREE.slot_3C(0x0205, *(arg_06)); + } + return; +} + +/* ===== slot 0x20 slot_20 ===== */ +function duck_ns_slot_20() /* entry=85 class_id=0x0196 slot=0x20 */ +{ + entry: + set_info(0x0205, *(arg_06)); + if (Item.getStatus(arg_06) & 0x1000) goto block_00F7; + + block_00F4: + goto block_02B0; + + block_00F7: + ITEM.slot_24(0x1000, arg_06); + local_02 = Item.getFrame(arg_06); + local_04 = Item.getQHi(arg_06); + + block_0119: + while (true) { + suspend; + /* global_address global_id=0x1E */ + if (!Actor.isDead()) { + return; + } + if (local_04 <= 99) { + local_04 = (local_04 - 100); + } + if (local_04 == 0) { + } + else if (local_04 == 1) { + } + else if (local_04 == 2) { + } + else if (local_04 == 3) { + spawn FREE.slot_3B(pid, 100, 0x00000000); + suspend; + } + spawn FREE.slot_3B(pid, ((5 - World.gameDifficulty()) * 20), 0x00000000); + suspend; + } + + block_02B0: + return; + +} diff --git a/USECODE/REGRET/D_BARREL.unk b/USECODE/REGRET/D_BARREL.unk new file mode 100644 index 0000000..8a075b9 --- /dev/null +++ b/USECODE/REGRET/D_BARREL.unk @@ -0,0 +1,21 @@ + +/* synthesized appendix for D_BARREL */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x06 gotHit ===== */ +function d_barrel_gotHit() /* entry=129 class_id=0x022B slot=0x06 */ +{ + set_info(0x020C, *(arg_06)); + process_exclude(); + FREE.slot_35(arg_0C, arg_0A); + if (!retval) { + FREE.slot_35(arg_0C, arg_0A); + if (retval == 4) { + FREE.slot_20(10); + if (retval <= 5) { + return; + } + } + } + return; +} diff --git a/USECODE/REGRET/D_CHEM.unk b/USECODE/REGRET/D_CHEM.unk new file mode 100644 index 0000000..c7d0fc6 --- /dev/null +++ b/USECODE/REGRET/D_CHEM.unk @@ -0,0 +1,43 @@ + +/* synthesized appendix for D_CHEM */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x01 use ===== */ +function d_chem_use() /* entry=264 class_id=0x04B9 slot=0x01 */ +{ + set_info(0x0207, *(arg_06)); + process_exclude(); + if (!(Item.getStatus(arg_06) & 0x1000)) { + return; + } + else { + spawn FREE.slot_49(pid, *(arg_06), 0x00000000); + suspend; + /* dword_to_word */ + if (!process_result) { + ITEM.slot_24(0x1000, arg_06); + } + } + return; +} + +/* ===== slot 0x06 gotHit ===== */ +function d_chem_gotHit() /* entry=264 class_id=0x04B9 slot=0x06 */ +{ + set_info(0x020C, *(arg_06)); + process_exclude(); + FREE.slot_35(arg_0C, arg_0A); + if ((retval == 4) || (Game.isViolenceEnabled() != 0)) { + return; + } + else { + /* loopscr value_u8=0x24 */ + /* loop current_var=0xFE string_bytes=0x1 loop_type=0x4 */ + while (!condition) { + if (Item.getShape(local_02) == 0x0111) { + } + /* loopnext */ + } + } + return; +} diff --git a/USECODE/REGRET/D_CONG.unk b/USECODE/REGRET/D_CONG.unk new file mode 100644 index 0000000..e3b8313 --- /dev/null +++ b/USECODE/REGRET/D_CONG.unk @@ -0,0 +1,43 @@ + +/* synthesized appendix for D_CONG */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x01 use ===== */ +function d_cong_use() /* entry=265 class_id=0x04BA slot=0x01 */ +{ + set_info(0x0207, *(arg_06)); + process_exclude(); + if (!(Item.getStatus(arg_06) & 0x1000)) { + return; + } + else { + spawn FREE.slot_49(pid, *(arg_06), 0x00000000); + suspend; + /* dword_to_word */ + if (!process_result) { + ITEM.slot_24(0x1000, arg_06); + } + } + return; +} + +/* ===== slot 0x06 gotHit ===== */ +function d_cong_gotHit() /* entry=265 class_id=0x04BA slot=0x06 */ +{ + set_info(0x020C, *(arg_06)); + process_exclude(); + FREE.slot_35(arg_0C, arg_0A); + if ((retval == 4) || (Game.isViolenceEnabled() != 0)) { + return; + } + else { + /* loopscr value_u8=0x24 */ + /* loop current_var=0xFE string_bytes=0x1 loop_type=0x4 */ + while (!condition) { + if (Item.getShape(local_02) == 0x0111) { + } + /* loopnext */ + } + } + return; +} diff --git a/USECODE/REGRET/D_COUR.unk b/USECODE/REGRET/D_COUR.unk new file mode 100644 index 0000000..b4223f8 --- /dev/null +++ b/USECODE/REGRET/D_COUR.unk @@ -0,0 +1,27 @@ + +/* synthesized appendix for D_COUR */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x06 gotHit ===== */ +function d_cour_gotHit() /* entry=270 class_id=0x04C2 slot=0x06 */ +{ + set_info(0x020C, *(arg_06)); + process_exclude(); + if (UCMachine.rndRange(100, 0) <= 50) { + return; + } + else { + /* loopscr value_u8=0x24 */ + /* loop current_var=0xFE string_bytes=0x1 loop_type=0x4 */ + while (!condition) { + spawn FREE.slot_3B(pid, 30, 0x00000000); + suspend; + spawn ITEM.slot_2A(pid, 1, 0, local_02); + suspend; + /* loopnext */ + } + spawn FREE.slot_3B(pid, 30, 0x00000000); + suspend; + } + return; +} diff --git a/USECODE/REGRET/D_EM_GUY.unk b/USECODE/REGRET/D_EM_GUY.unk new file mode 100644 index 0000000..6ec422e --- /dev/null +++ b/USECODE/REGRET/D_EM_GUY.unk @@ -0,0 +1,23 @@ + +/* synthesized appendix for D_EM_GUY */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x0E calledFromAnim ===== */ +function d_em_guy_calledFromAnim() /* entry=351 class_id=0x059C slot=0x0E */ +{ + set_info(0x021A, *(arg_06)); + process_exclude(); + spawn NPCDEATH.slot_20(Intrinsic000D(arg_06), *(arg_06), arg_06); + return; +} + +/* ===== slot 0x0F enterFastArea ===== */ +function d_em_guy_enterFastArea() /* entry=351 class_id=0x059C slot=0x0F */ +{ + set_info(0x021B, *(arg_06)); + process_exclude(); + spawn FREE.slot_3B(pid, 1, 0x00000000); + suspend; + spawn NPCDEATH.slot_20(Intrinsic000D(arg_06), *(arg_06), arg_06); + return; +} diff --git a/USECODE/REGRET/D_ENFOR2.unk b/USECODE/REGRET/D_ENFOR2.unk new file mode 100644 index 0000000..4d2c7cb --- /dev/null +++ b/USECODE/REGRET/D_ENFOR2.unk @@ -0,0 +1,14 @@ + +/* synthesized appendix for D_ENFOR2 */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x0E calledFromAnim ===== */ +function d_enfor2_calledFromAnim() /* entry=410 class_id=0x062E slot=0x0E */ +{ + set_info(0x021A, *(arg_06)); + process_exclude(); + local_02 = *(arg_06); + set_info(1, 0); + spawn NPCDEATH.slot_20(Intrinsic000D(arg_06), *(arg_06), arg_06); + return; +} diff --git a/USECODE/REGRET/D_ENFORC.unk b/USECODE/REGRET/D_ENFORC.unk new file mode 100644 index 0000000..124c443 --- /dev/null +++ b/USECODE/REGRET/D_ENFORC.unk @@ -0,0 +1,43 @@ + +/* synthesized appendix for D_ENFORC */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x01 use ===== */ +function d_enforc_use() /* entry=322 class_id=0x055D slot=0x01 */ +{ + set_info(0x0207, *(arg_06)); + process_exclude(); + if (!(Item.getStatus(arg_06) & 0x1000)) { + return; + } + else { + spawn FREE.slot_49(pid, *(arg_06), 0x00000000); + suspend; + /* dword_to_word */ + if (!process_result) { + ITEM.slot_24(0x1000, arg_06); + } + } + return; +} + +/* ===== slot 0x06 gotHit ===== */ +function d_enforc_gotHit() /* entry=322 class_id=0x055D slot=0x06 */ +{ + set_info(0x020C, *(arg_06)); + process_exclude(); + FREE.slot_35(arg_0C, arg_0A); + if ((retval == 4) || (Game.isViolenceEnabled() != 0)) { + return; + } + else { + /* loopscr value_u8=0x24 */ + /* loop current_var=0xFE string_bytes=0x1 loop_type=0x4 */ + while (!condition) { + if (Item.getShape(local_02) == 0x0111) { + } + /* loopnext */ + } + } + return; +} diff --git a/USECODE/REGRET/D_ESTORM.unk b/USECODE/REGRET/D_ESTORM.unk new file mode 100644 index 0000000..476a0a7 --- /dev/null +++ b/USECODE/REGRET/D_ESTORM.unk @@ -0,0 +1,43 @@ + +/* synthesized appendix for D_ESTORM */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x01 use ===== */ +function d_estorm_use() /* entry=280 class_id=0x04D2 slot=0x01 */ +{ + set_info(0x0207, *(arg_06)); + process_exclude(); + if (!(Item.getStatus(arg_06) & 0x1000)) { + return; + } + else { + spawn FREE.slot_49(pid, *(arg_06), 0x00000000); + suspend; + /* dword_to_word */ + if (!process_result) { + ITEM.slot_24(0x1000, arg_06); + } + } + return; +} + +/* ===== slot 0x06 gotHit ===== */ +function d_estorm_gotHit() /* entry=280 class_id=0x04D2 slot=0x06 */ +{ + set_info(0x020C, *(arg_06)); + process_exclude(); + FREE.slot_35(arg_0C, arg_0A); + if ((retval == 4) || (Game.isViolenceEnabled() != 0)) { + return; + } + else { + /* loopscr value_u8=0x24 */ + /* loop current_var=0xFE string_bytes=0x1 loop_type=0x4 */ + while (!condition) { + if (Item.getShape(local_02) == 0x0111) { + } + /* loopnext */ + } + } + return; +} diff --git a/USECODE/REGRET/D_FLAMEX.unk b/USECODE/REGRET/D_FLAMEX.unk new file mode 100644 index 0000000..a395ef2 --- /dev/null +++ b/USECODE/REGRET/D_FLAMEX.unk @@ -0,0 +1,23 @@ + +/* synthesized appendix for D_FLAMEX */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x0E calledFromAnim ===== */ +function d_flamex_calledFromAnim() /* entry=416 class_id=0x0656 slot=0x0E */ +{ + set_info(0x021A, *(arg_06)); + process_exclude(); + spawn NPCDEATH.slot_20(Intrinsic000D(arg_06), *(arg_06), arg_06); + return; +} + +/* ===== slot 0x0F enterFastArea ===== */ +function d_flamex_enterFastArea() /* entry=416 class_id=0x0656 slot=0x0F */ +{ + set_info(0x021B, *(arg_06)); + process_exclude(); + spawn FREE.slot_3B(pid, 1, 0x00000000); + suspend; + spawn NPCDEATH.slot_20(Intrinsic000D(arg_06), *(arg_06), arg_06); + return; +} diff --git a/USECODE/REGRET/D_FREIGH.unk b/USECODE/REGRET/D_FREIGH.unk new file mode 100644 index 0000000..830a342 --- /dev/null +++ b/USECODE/REGRET/D_FREIGH.unk @@ -0,0 +1,43 @@ + +/* synthesized appendix for D_FREIGH */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x01 use ===== */ +function d_freigh_use() /* entry=187 class_id=0x0360 slot=0x01 */ +{ + set_info(0x0207, *(arg_06)); + process_exclude(); + if (!(Item.getStatus(arg_06) & 0x1000)) { + return; + } + else { + spawn FREE.slot_49(pid, *(arg_06), 0x00000000); + suspend; + /* dword_to_word */ + if (!process_result) { + ITEM.slot_24(0x1000, arg_06); + } + } + return; +} + +/* ===== slot 0x06 gotHit ===== */ +function d_freigh_gotHit() /* entry=187 class_id=0x0360 slot=0x06 */ +{ + set_info(0x020C, *(arg_06)); + process_exclude(); + FREE.slot_35(arg_0C, arg_0A); + if ((retval == 4) || (Game.isViolenceEnabled() != 0)) { + return; + } + else { + /* loopscr value_u8=0x24 */ + /* loop current_var=0xFE string_bytes=0x1 loop_type=0x4 */ + while (!condition) { + if (Item.getShape(local_02) == 0x0111) { + } + /* loopnext */ + } + } + return; +} diff --git a/USECODE/REGRET/D_GRENAD.unk b/USECODE/REGRET/D_GRENAD.unk new file mode 100644 index 0000000..2c873aa --- /dev/null +++ b/USECODE/REGRET/D_GRENAD.unk @@ -0,0 +1,43 @@ + +/* synthesized appendix for D_GRENAD */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x01 use ===== */ +function d_grenad_use() /* entry=318 class_id=0x054D slot=0x01 */ +{ + set_info(0x0207, *(arg_06)); + process_exclude(); + if (!(Item.getStatus(arg_06) & 0x1000)) { + return; + } + else { + spawn FREE.slot_49(pid, *(arg_06), 0x00000000); + suspend; + /* dword_to_word */ + if (!process_result) { + ITEM.slot_24(0x1000, arg_06); + } + } + return; +} + +/* ===== slot 0x06 gotHit ===== */ +function d_grenad_gotHit() /* entry=318 class_id=0x054D slot=0x06 */ +{ + set_info(0x020C, *(arg_06)); + process_exclude(); + FREE.slot_35(arg_0C, arg_0A); + if ((retval == 4) || (Game.isViolenceEnabled() != 0)) { + return; + } + else { + /* loopscr value_u8=0x24 */ + /* loop current_var=0xFE string_bytes=0x1 loop_type=0x4 */ + while (!condition) { + if (Item.getShape(local_02) == 0x0111) { + } + /* loopnext */ + } + } + return; +} diff --git a/USECODE/REGRET/D_HQ2.unk b/USECODE/REGRET/D_HQ2.unk new file mode 100644 index 0000000..20f4cd3 --- /dev/null +++ b/USECODE/REGRET/D_HQ2.unk @@ -0,0 +1,14 @@ + +/* synthesized appendix for D_HQ2 */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x0E calledFromAnim ===== */ +function d_hq2_calledFromAnim() /* entry=395 class_id=0x0606 slot=0x0E */ +{ + set_info(0x021A, *(arg_06)); + process_exclude(); + local_02 = *(arg_06); + set_info(1, 0); + spawn NPCDEATH.slot_20(Intrinsic000D(arg_06), *(arg_06), arg_06); + return; +} diff --git a/USECODE/REGRET/D_HQGUAR.unk b/USECODE/REGRET/D_HQGUAR.unk new file mode 100644 index 0000000..3b293c6 --- /dev/null +++ b/USECODE/REGRET/D_HQGUAR.unk @@ -0,0 +1,43 @@ + +/* synthesized appendix for D_HQGUAR */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x01 use ===== */ +function d_hqguar_use() /* entry=389 class_id=0x05FD slot=0x01 */ +{ + set_info(0x0207, *(arg_06)); + process_exclude(); + if (!(Item.getStatus(arg_06) & 0x1000)) { + return; + } + else { + spawn FREE.slot_49(pid, *(arg_06), 0x00000000); + suspend; + /* dword_to_word */ + if (!process_result) { + ITEM.slot_24(0x1000, arg_06); + } + } + return; +} + +/* ===== slot 0x06 gotHit ===== */ +function d_hqguar_gotHit() /* entry=389 class_id=0x05FD slot=0x06 */ +{ + set_info(0x020C, *(arg_06)); + process_exclude(); + FREE.slot_35(arg_0C, arg_0A); + if ((retval == 4) || (Game.isViolenceEnabled() != 0)) { + return; + } + else { + /* loopscr value_u8=0x24 */ + /* loop current_var=0xFE string_bytes=0x1 loop_type=0x4 */ + while (!condition) { + if (Item.getShape(local_02) == 0x0111) { + } + /* loopnext */ + } + } + return; +} diff --git a/USECODE/REGRET/D_KNENFO.unk b/USECODE/REGRET/D_KNENFO.unk new file mode 100644 index 0000000..e9891ec --- /dev/null +++ b/USECODE/REGRET/D_KNENFO.unk @@ -0,0 +1,43 @@ + +/* synthesized appendix for D_KNENFO */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x01 use ===== */ +function d_knenfo_use() /* entry=413 class_id=0x0633 slot=0x01 */ +{ + set_info(0x0207, *(arg_06)); + process_exclude(); + if (!(Item.getStatus(arg_06) & 0x1000)) { + return; + } + else { + spawn FREE.slot_49(pid, *(arg_06), 0x00000000); + suspend; + /* dword_to_word */ + if (!process_result) { + ITEM.slot_24(0x1000, arg_06); + } + } + return; +} + +/* ===== slot 0x06 gotHit ===== */ +function d_knenfo_gotHit() /* entry=413 class_id=0x0633 slot=0x06 */ +{ + set_info(0x020C, *(arg_06)); + process_exclude(); + FREE.slot_35(arg_0C, arg_0A); + if ((retval == 4) || (Game.isViolenceEnabled() != 0)) { + return; + } + else { + /* loopscr value_u8=0x24 */ + /* loop current_var=0xFE string_bytes=0x1 loop_type=0x4 */ + while (!condition) { + if (Item.getShape(local_02) == 0x0111) { + } + /* loopnext */ + } + } + return; +} diff --git a/USECODE/REGRET/D_KNHQ.unk b/USECODE/REGRET/D_KNHQ.unk new file mode 100644 index 0000000..e204e59 --- /dev/null +++ b/USECODE/REGRET/D_KNHQ.unk @@ -0,0 +1,43 @@ + +/* synthesized appendix for D_KNHQ */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x01 use ===== */ +function d_knhq_use() /* entry=398 class_id=0x060C slot=0x01 */ +{ + set_info(0x0207, *(arg_06)); + process_exclude(); + if (!(Item.getStatus(arg_06) & 0x1000)) { + return; + } + else { + spawn FREE.slot_49(pid, *(arg_06), 0x00000000); + suspend; + /* dword_to_word */ + if (!process_result) { + ITEM.slot_24(0x1000, arg_06); + } + } + return; +} + +/* ===== slot 0x06 gotHit ===== */ +function d_knhq_gotHit() /* entry=398 class_id=0x060C slot=0x06 */ +{ + set_info(0x020C, *(arg_06)); + process_exclude(); + FREE.slot_35(arg_0C, arg_0A); + if ((retval == 4) || (Game.isViolenceEnabled() != 0)) { + return; + } + else { + /* loopscr value_u8=0x24 */ + /* loop current_var=0xFE string_bytes=0x1 loop_type=0x4 */ + while (!condition) { + if (Item.getShape(local_02) == 0x0111) { + } + /* loopnext */ + } + } + return; +} diff --git a/USECODE/REGRET/D_KNSTOR.unk b/USECODE/REGRET/D_KNSTOR.unk new file mode 100644 index 0000000..11fe58e --- /dev/null +++ b/USECODE/REGRET/D_KNSTOR.unk @@ -0,0 +1,43 @@ + +/* synthesized appendix for D_KNSTOR */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x01 use ===== */ +function d_knstor_use() /* entry=412 class_id=0x0632 slot=0x01 */ +{ + set_info(0x0207, *(arg_06)); + process_exclude(); + if (!(Item.getStatus(arg_06) & 0x1000)) { + return; + } + else { + spawn FREE.slot_49(pid, *(arg_06), 0x00000000); + suspend; + /* dword_to_word */ + if (!process_result) { + ITEM.slot_24(0x1000, arg_06); + } + } + return; +} + +/* ===== slot 0x06 gotHit ===== */ +function d_knstor_gotHit() /* entry=412 class_id=0x0632 slot=0x06 */ +{ + set_info(0x020C, *(arg_06)); + process_exclude(); + FREE.slot_35(arg_0C, arg_0A); + if ((retval == 4) || (Game.isViolenceEnabled() != 0)) { + return; + } + else { + /* loopscr value_u8=0x24 */ + /* loop current_var=0xFE string_bytes=0x1 loop_type=0x4 */ + while (!condition) { + if (Item.getShape(local_02) == 0x0111) { + } + /* loopnext */ + } + } + return; +} diff --git a/USECODE/REGRET/D_LMC2.unk b/USECODE/REGRET/D_LMC2.unk new file mode 100644 index 0000000..a80e7da --- /dev/null +++ b/USECODE/REGRET/D_LMC2.unk @@ -0,0 +1,14 @@ + +/* synthesized appendix for D_LMC2 */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x0E calledFromAnim ===== */ +function d_lmc2_calledFromAnim() /* entry=374 class_id=0x05D5 slot=0x0E */ +{ + set_info(0x021A, *(arg_06)); + process_exclude(); + local_02 = *(arg_06); + set_info(1, 0); + spawn NPCDEATH.slot_20(Intrinsic000D(arg_06), *(arg_06), arg_06); + return; +} diff --git a/USECODE/REGRET/D_LMC_KN.unk b/USECODE/REGRET/D_LMC_KN.unk new file mode 100644 index 0000000..f795e20 --- /dev/null +++ b/USECODE/REGRET/D_LMC_KN.unk @@ -0,0 +1,43 @@ + +/* synthesized appendix for D_LMC_KN */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x01 use ===== */ +function d_lmc_kn_use() /* entry=396 class_id=0x0607 slot=0x01 */ +{ + set_info(0x0207, *(arg_06)); + process_exclude(); + if (!(Item.getStatus(arg_06) & 0x1000)) { + return; + } + else { + spawn FREE.slot_49(pid, *(arg_06), 0x00000000); + suspend; + /* dword_to_word */ + if (!process_result) { + ITEM.slot_24(0x1000, arg_06); + } + } + return; +} + +/* ===== slot 0x06 gotHit ===== */ +function d_lmc_kn_gotHit() /* entry=396 class_id=0x0607 slot=0x06 */ +{ + set_info(0x020C, *(arg_06)); + process_exclude(); + FREE.slot_35(arg_0C, arg_0A); + if ((retval == 4) || (Game.isViolenceEnabled() != 0)) { + return; + } + else { + /* loopscr value_u8=0x24 */ + /* loop current_var=0xFE string_bytes=0x1 loop_type=0x4 */ + while (!condition) { + if (Item.getShape(local_02) == 0x0111) { + } + /* loopnext */ + } + } + return; +} diff --git a/USECODE/REGRET/D_LMC_ST.unk b/USECODE/REGRET/D_LMC_ST.unk new file mode 100644 index 0000000..7fd4c46 --- /dev/null +++ b/USECODE/REGRET/D_LMC_ST.unk @@ -0,0 +1,43 @@ + +/* synthesized appendix for D_LMC_ST */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x01 use ===== */ +function d_lmc_st_use() /* entry=397 class_id=0x0608 slot=0x01 */ +{ + set_info(0x0207, *(arg_06)); + process_exclude(); + if (!(Item.getStatus(arg_06) & 0x1000)) { + return; + } + else { + spawn FREE.slot_49(pid, *(arg_06), 0x00000000); + suspend; + /* dword_to_word */ + if (!process_result) { + ITEM.slot_24(0x1000, arg_06); + } + } + return; +} + +/* ===== slot 0x06 gotHit ===== */ +function d_lmc_st_gotHit() /* entry=397 class_id=0x0608 slot=0x06 */ +{ + set_info(0x020C, *(arg_06)); + process_exclude(); + FREE.slot_35(arg_0C, arg_0A); + if ((retval == 4) || (Game.isViolenceEnabled() != 0)) { + return; + } + else { + /* loopscr value_u8=0x24 */ + /* loop current_var=0xFE string_bytes=0x1 loop_type=0x4 */ + while (!condition) { + if (Item.getShape(local_02) == 0x0111) { + } + /* loopnext */ + } + } + return; +} diff --git a/USECODE/REGRET/D_LNR.unk b/USECODE/REGRET/D_LNR.unk new file mode 100644 index 0000000..4bdaa7b --- /dev/null +++ b/USECODE/REGRET/D_LNR.unk @@ -0,0 +1,23 @@ + +/* synthesized appendix for D_LNR */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x0E calledFromAnim ===== */ +function d_lnr_calledFromAnim() /* entry=409 class_id=0x062D slot=0x0E */ +{ + set_info(0x021A, *(arg_06)); + process_exclude(); + spawn NPCDEATH.slot_20(Intrinsic000D(arg_06), *(arg_06), arg_06); + return; +} + +/* ===== slot 0x0F enterFastArea ===== */ +function d_lnr_enterFastArea() /* entry=409 class_id=0x062D slot=0x0F */ +{ + set_info(0x021B, *(arg_06)); + process_exclude(); + spawn FREE.slot_3B(pid, 1, 0x00000000); + suspend; + spawn NPCDEATH.slot_20(Intrinsic000D(arg_06), *(arg_06), arg_06); + return; +} diff --git a/USECODE/REGRET/D_MAINT.unk b/USECODE/REGRET/D_MAINT.unk new file mode 100644 index 0000000..764a252 --- /dev/null +++ b/USECODE/REGRET/D_MAINT.unk @@ -0,0 +1,43 @@ + +/* synthesized appendix for D_MAINT */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x01 use ===== */ +function d_maint_use() /* entry=266 class_id=0x04BB slot=0x01 */ +{ + set_info(0x0207, *(arg_06)); + process_exclude(); + if (!(Item.getStatus(arg_06) & 0x1000)) { + return; + } + else { + spawn FREE.slot_49(pid, *(arg_06), 0x00000000); + suspend; + /* dword_to_word */ + if (!process_result) { + ITEM.slot_24(0x1000, arg_06); + } + } + return; +} + +/* ===== slot 0x06 gotHit ===== */ +function d_maint_gotHit() /* entry=266 class_id=0x04BB slot=0x06 */ +{ + set_info(0x020C, *(arg_06)); + process_exclude(); + FREE.slot_35(arg_0C, arg_0A); + if ((retval == 4) || (Game.isViolenceEnabled() != 0)) { + return; + } + else { + /* loopscr value_u8=0x24 */ + /* loop current_var=0xFE string_bytes=0x1 loop_type=0x4 */ + while (!condition) { + if (Item.getShape(local_02) == 0x0111) { + } + /* loopnext */ + } + } + return; +} diff --git a/USECODE/REGRET/D_NMINE.unk b/USECODE/REGRET/D_NMINE.unk new file mode 100644 index 0000000..841f8fa --- /dev/null +++ b/USECODE/REGRET/D_NMINE.unk @@ -0,0 +1,43 @@ + +/* synthesized appendix for D_NMINE */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x01 use ===== */ +function d_nmine_use() /* entry=399 class_id=0x0610 slot=0x01 */ +{ + set_info(0x0207, *(arg_06)); + process_exclude(); + if (!(Item.getStatus(arg_06) & 0x1000)) { + return; + } + else { + spawn FREE.slot_49(pid, *(arg_06), 0x00000000); + suspend; + /* dword_to_word */ + if (!process_result) { + ITEM.slot_24(0x1000, arg_06); + } + } + return; +} + +/* ===== slot 0x06 gotHit ===== */ +function d_nmine_gotHit() /* entry=399 class_id=0x0610 slot=0x06 */ +{ + set_info(0x020C, *(arg_06)); + process_exclude(); + FREE.slot_35(arg_0C, arg_0A); + if ((retval == 4) || (Game.isViolenceEnabled() != 0)) { + return; + } + else { + /* loopscr value_u8=0x24 */ + /* loop current_var=0xFE string_bytes=0x1 loop_type=0x4 */ + while (!condition) { + if (Item.getShape(local_02) == 0x0111) { + } + /* loopnext */ + } + } + return; +} diff --git a/USECODE/REGRET/D_OWORK.unk b/USECODE/REGRET/D_OWORK.unk new file mode 100644 index 0000000..8df425e --- /dev/null +++ b/USECODE/REGRET/D_OWORK.unk @@ -0,0 +1,43 @@ + +/* synthesized appendix for D_OWORK */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x01 use ===== */ +function d_owork_use() /* entry=267 class_id=0x04BC slot=0x01 */ +{ + set_info(0x0207, *(arg_06)); + process_exclude(); + if (!(Item.getStatus(arg_06) & 0x1000)) { + return; + } + else { + spawn FREE.slot_49(pid, *(arg_06), 0x00000000); + suspend; + /* dword_to_word */ + if (!process_result) { + ITEM.slot_24(0x1000, arg_06); + } + } + return; +} + +/* ===== slot 0x06 gotHit ===== */ +function d_owork_gotHit() /* entry=267 class_id=0x04BC slot=0x06 */ +{ + set_info(0x020C, *(arg_06)); + process_exclude(); + FREE.slot_35(arg_0C, arg_0A); + if ((retval == 4) || (Game.isViolenceEnabled() != 0)) { + return; + } + else { + /* loopscr value_u8=0x24 */ + /* loop current_var=0xFE string_bytes=0x1 loop_type=0x4 */ + while (!condition) { + if (Item.getShape(local_02) == 0x0111) { + } + /* loopnext */ + } + } + return; +} diff --git a/USECODE/REGRET/D_PLASMA.unk b/USECODE/REGRET/D_PLASMA.unk new file mode 100644 index 0000000..dbb9d83 --- /dev/null +++ b/USECODE/REGRET/D_PLASMA.unk @@ -0,0 +1,23 @@ + +/* synthesized appendix for D_PLASMA */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x0E calledFromAnim ===== */ +function d_plasma_calledFromAnim() /* entry=347 class_id=0x058F slot=0x0E */ +{ + set_info(0x021A, *(arg_06)); + process_exclude(); + spawn NPCDEATH.slot_20(Intrinsic000D(arg_06), *(arg_06), arg_06); + return; +} + +/* ===== slot 0x0F enterFastArea ===== */ +function d_plasma_enterFastArea() /* entry=347 class_id=0x058F slot=0x0F */ +{ + set_info(0x021B, *(arg_06)); + process_exclude(); + spawn FREE.slot_3B(pid, 1, 0x00000000); + suspend; + spawn NPCDEATH.slot_20(Intrinsic000D(arg_06), *(arg_06), arg_06); + return; +} diff --git a/USECODE/REGRET/D_ROBO.unk b/USECODE/REGRET/D_ROBO.unk new file mode 100644 index 0000000..a3bdeb1 --- /dev/null +++ b/USECODE/REGRET/D_ROBO.unk @@ -0,0 +1,14 @@ + +/* synthesized appendix for D_ROBO */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x0E calledFromAnim ===== */ +function d_robo_calledFromAnim() /* entry=357 class_id=0x05B1 slot=0x0E */ +{ + set_info(0x021A, *(arg_06)); + process_exclude(); + local_02 = *(arg_06); + set_info(1, 0); + spawn NPCDEATH.slot_20(Intrinsic000D(arg_06), *(arg_06), arg_06); + return; +} diff --git a/USECODE/REGRET/D_SCIEN.unk b/USECODE/REGRET/D_SCIEN.unk new file mode 100644 index 0000000..01e3adf --- /dev/null +++ b/USECODE/REGRET/D_SCIEN.unk @@ -0,0 +1,43 @@ + +/* synthesized appendix for D_SCIEN */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x01 use ===== */ +function d_scien_use() /* entry=268 class_id=0x04BD slot=0x01 */ +{ + set_info(0x0207, *(arg_06)); + process_exclude(); + if (!(Item.getStatus(arg_06) & 0x1000)) { + return; + } + else { + spawn FREE.slot_49(pid, *(arg_06), 0x00000000); + suspend; + /* dword_to_word */ + if (!process_result) { + ITEM.slot_24(0x1000, arg_06); + } + } + return; +} + +/* ===== slot 0x06 gotHit ===== */ +function d_scien_gotHit() /* entry=268 class_id=0x04BD slot=0x06 */ +{ + set_info(0x020C, *(arg_06)); + process_exclude(); + FREE.slot_35(arg_0C, arg_0A); + if ((retval == 4) || (Game.isViolenceEnabled() != 0)) { + return; + } + else { + /* loopscr value_u8=0x24 */ + /* loop current_var=0xFE string_bytes=0x1 loop_type=0x4 */ + while (!condition) { + if (Item.getShape(local_02) == 0x0111) { + } + /* loopnext */ + } + } + return; +} diff --git a/USECODE/REGRET/D_SITMAN.unk b/USECODE/REGRET/D_SITMAN.unk new file mode 100644 index 0000000..dde6360 --- /dev/null +++ b/USECODE/REGRET/D_SITMAN.unk @@ -0,0 +1,14 @@ + +/* synthesized appendix for D_SITMAN */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x0E calledFromAnim ===== */ +function d_sitman_calledFromAnim() /* entry=37 class_id=0x0095 slot=0x0E */ +{ + set_info(0x021A, *(arg_06)); + process_exclude(); + local_02 = *(arg_06); + set_info(1, 0); + spawn NPCDEATH.slot_20(Intrinsic000D(arg_06), *(arg_06), arg_06); + return; +} diff --git a/USECODE/REGRET/D_SKELET.unk b/USECODE/REGRET/D_SKELET.unk new file mode 100644 index 0000000..076a4a6 --- /dev/null +++ b/USECODE/REGRET/D_SKELET.unk @@ -0,0 +1,23 @@ + +/* synthesized appendix for D_SKELET */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x0E calledFromAnim ===== */ +function d_skelet_calledFromAnim() /* entry=349 class_id=0x0596 slot=0x0E */ +{ + set_info(0x021A, *(arg_06)); + process_exclude(); + spawn NPCDEATH.slot_20(Intrinsic000D(arg_06), *(arg_06), arg_06); + return; +} + +/* ===== slot 0x0F enterFastArea ===== */ +function d_skelet_enterFastArea() /* entry=349 class_id=0x0596 slot=0x0F */ +{ + set_info(0x021B, *(arg_06)); + process_exclude(); + spawn FREE.slot_3B(pid, 1, 0x00000000); + suspend; + spawn NPCDEATH.slot_20(Intrinsic000D(arg_06), *(arg_06), arg_06); + return; +} diff --git a/USECODE/REGRET/D_STORM.unk b/USECODE/REGRET/D_STORM.unk new file mode 100644 index 0000000..e9ca01c --- /dev/null +++ b/USECODE/REGRET/D_STORM.unk @@ -0,0 +1,43 @@ + +/* synthesized appendix for D_STORM */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x01 use ===== */ +function d_storm_use() /* entry=269 class_id=0x04BE slot=0x01 */ +{ + set_info(0x0207, *(arg_06)); + process_exclude(); + if (!(Item.getStatus(arg_06) & 0x1000)) { + return; + } + else { + spawn FREE.slot_49(pid, *(arg_06), 0x00000000); + suspend; + /* dword_to_word */ + if (!process_result) { + ITEM.slot_24(0x1000, arg_06); + } + } + return; +} + +/* ===== slot 0x06 gotHit ===== */ +function d_storm_gotHit() /* entry=269 class_id=0x04BE slot=0x06 */ +{ + set_info(0x020C, *(arg_06)); + process_exclude(); + FREE.slot_35(arg_0C, arg_0A); + if ((retval == 4) || (Game.isViolenceEnabled() != 0)) { + return; + } + else { + /* loopscr value_u8=0x24 */ + /* loop current_var=0xFE string_bytes=0x1 loop_type=0x4 */ + while (!condition) { + if (Item.getShape(local_02) == 0x0111) { + } + /* loopnext */ + } + } + return; +} diff --git a/USECODE/REGRET/D_STORM2.unk b/USECODE/REGRET/D_STORM2.unk new file mode 100644 index 0000000..cb0009f --- /dev/null +++ b/USECODE/REGRET/D_STORM2.unk @@ -0,0 +1,14 @@ + +/* synthesized appendix for D_STORM2 */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x0E calledFromAnim ===== */ +function d_storm2_calledFromAnim() /* entry=411 class_id=0x0631 slot=0x0E */ +{ + set_info(0x021A, *(arg_06)); + process_exclude(); + local_02 = *(arg_06); + set_info(1, 0); + spawn NPCDEATH.slot_20(Intrinsic000D(arg_06), *(arg_06), arg_06); + return; +} diff --git a/USECODE/REGRET/D_SUSAN.unk b/USECODE/REGRET/D_SUSAN.unk new file mode 100644 index 0000000..5f5caf7 --- /dev/null +++ b/USECODE/REGRET/D_SUSAN.unk @@ -0,0 +1,27 @@ + +/* synthesized appendix for D_SUSAN */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x06 gotHit ===== */ +function d_susan_gotHit() /* entry=271 class_id=0x04C4 slot=0x06 */ +{ + set_info(0x020C, *(arg_06)); + process_exclude(); + if (UCMachine.rndRange(100, 0) <= 50) { + return; + } + else { + /* loopscr value_u8=0x24 */ + /* loop current_var=0xFE string_bytes=0x1 loop_type=0x4 */ + while (!condition) { + spawn FREE.slot_3B(pid, 30, 0x00000000); + suspend; + spawn ITEM.slot_2A(pid, 1, 0, local_02); + suspend; + /* loopnext */ + } + spawn FREE.slot_3B(pid, 30, 0x00000000); + suspend; + } + return; +} diff --git a/USECODE/REGRET/D_TANKEW.unk b/USECODE/REGRET/D_TANKEW.unk new file mode 100644 index 0000000..47d0ea7 --- /dev/null +++ b/USECODE/REGRET/D_TANKEW.unk @@ -0,0 +1,32 @@ + +/* synthesized appendix for D_TANKEW */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x06 gotHit ===== */ +function d_tankew_gotHit() /* entry=257 class_id=0x045F slot=0x06 */ +{ + set_info(0x020C, *(arg_06)); + process_exclude(); + FREE.slot_35(arg_0C, arg_0A); + if (retval) { + return; + } + else { + for local_02 in nearby_items(family=6, origin=arg_06) { + NPC.slot_2A(local_02); + if (!retval) { + spawn NPC.slot_2C(local_02); + } + else if (Actor.isDead(local_02)) { + spawn NPC.slot_2D(6, local_02); + } + /* loopnext */ + } + if (global[0x0005]) { + suspend; + } + spawn FREE.slot_3B(pid, 10, 0x00000000); + suspend; + } + return; +} diff --git a/USECODE/REGRET/D_TANKNS.unk b/USECODE/REGRET/D_TANKNS.unk new file mode 100644 index 0000000..07305a5 --- /dev/null +++ b/USECODE/REGRET/D_TANKNS.unk @@ -0,0 +1,32 @@ + +/* synthesized appendix for D_TANKNS */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x06 gotHit ===== */ +function d_tankns_gotHit() /* entry=258 class_id=0x0461 slot=0x06 */ +{ + set_info(0x020C, *(arg_06)); + process_exclude(); + FREE.slot_35(arg_0C, arg_0A); + if (retval) { + return; + } + else { + for local_02 in nearby_items(family=6, origin=arg_06) { + NPC.slot_2A(local_02); + if (!retval) { + spawn NPC.slot_2C(local_02); + } + else if (Actor.isDead(local_02)) { + spawn NPC.slot_2D(6, local_02); + } + /* loopnext */ + } + if (global[0x0005]) { + suspend; + } + spawn FREE.slot_3B(pid, 10, 0x00000000); + suspend; + } + return; +} diff --git a/USECODE/REGRET/D_THERM.unk b/USECODE/REGRET/D_THERM.unk new file mode 100644 index 0000000..a5cc4b9 --- /dev/null +++ b/USECODE/REGRET/D_THERM.unk @@ -0,0 +1,22 @@ + +/* synthesized appendix for D_THERM */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x01 use ===== */ +function d_therm_use() /* entry=272 class_id=0x04C5 slot=0x01 */ +{ + set_info(0x0207, *(arg_06)); + process_exclude(); + if (!(Item.getStatus(arg_06) & 0x1000)) { + return; + } + else { + spawn FREE.slot_49(pid, *(arg_06), 0x00000000); + suspend; + /* dword_to_word */ + if (!process_result) { + ITEM.slot_24(0x1000, arg_06); + } + } + return; +} diff --git a/USECODE/REGRET/EBRIDGE.unk b/USECODE/REGRET/EBRIDGE.unk new file mode 100644 index 0000000..3cc0394 --- /dev/null +++ b/USECODE/REGRET/EBRIDGE.unk @@ -0,0 +1,35 @@ + +/* synthesized appendix for EBRIDGE */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x0A equip ===== */ +function ebridge_equip() /* entry=208 class_id=0x03A6 slot=0x0A */ +{ + set_info(0x0211, *(arg_06)); + process_exclude(); + spawn BRIDGE.slot_20(pid, arg_0A, arg_06); + suspend; + return; +} + +/* ===== slot 0x0F enterFastArea ===== */ +function ebridge_enterFastArea() /* entry=208 class_id=0x03A6 slot=0x0F */ +{ + set_info(0x021B, *(arg_06)); + process_exclude(); + local_02 = Item.getQLo(arg_06); + if (local_02 == 0) { + return; + } + else { + local_04 = Item.getQHi(arg_06); + if ((local_04 >= 1) || (local_04 > 127)) { + return; + } + else { + spawn BRIDGE.slot_26(pid, local_04, local_02, arg_06); + suspend; + } + } + return; +} diff --git a/USECODE/REGRET/EBRIDGE2.unk b/USECODE/REGRET/EBRIDGE2.unk new file mode 100644 index 0000000..8579f03 --- /dev/null +++ b/USECODE/REGRET/EBRIDGE2.unk @@ -0,0 +1,35 @@ + +/* synthesized appendix for EBRIDGE2 */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x0A equip ===== */ +function ebridge2_equip() /* entry=226 class_id=0x0413 slot=0x0A */ +{ + set_info(0x0211, *(arg_06)); + process_exclude(); + spawn BRIDGE.slot_20(pid, arg_0A, arg_06); + suspend; + return; +} + +/* ===== slot 0x0F enterFastArea ===== */ +function ebridge2_enterFastArea() /* entry=226 class_id=0x0413 slot=0x0F */ +{ + set_info(0x021B, *(arg_06)); + process_exclude(); + local_02 = Item.getQLo(arg_06); + if (local_02 == 0) { + return; + } + else { + local_04 = Item.getQHi(arg_06); + if ((local_04 >= 1) || (local_04 > 127)) { + return; + } + else { + spawn BRIDGE.slot_26(pid, local_04, local_02, arg_06); + suspend; + } + } + return; +} diff --git a/USECODE/REGRET/EGRENADE.unk b/USECODE/REGRET/EGRENADE.unk new file mode 100644 index 0000000..8cff8a1 --- /dev/null +++ b/USECODE/REGRET/EGRENADE.unk @@ -0,0 +1,14 @@ + +/* synthesized appendix for EGRENADE */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x0E calledFromAnim ===== */ +function egrenade_calledFromAnim() /* entry=305 class_id=0x0528 slot=0x0E */ +{ + set_info(0x021A, *(arg_06)); + process_exclude(); + local_02 = *(arg_06); + set_info(1, 0); + spawn NPCDEATH.slot_20(Intrinsic000D(arg_06), *(arg_06), local_02); + return; +} diff --git a/USECODE/REGRET/ELEEW16.unk b/USECODE/REGRET/ELEEW16.unk new file mode 100644 index 0000000..36b3169 --- /dev/null +++ b/USECODE/REGRET/ELEEW16.unk @@ -0,0 +1,43 @@ + +/* synthesized appendix for ELEEW16 */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x0A equip ===== */ +function eleew16_equip() /* entry=3 class_id=0x0007 slot=0x0A */ +{ + set_info(0x0211, *(arg_06)); + process_exclude(); + if (!arg_0A) { + spawn ELEEW16.enterFastArea(pid, arg_06); + suspend; + return; + } + else { + for local_02 in nearby_items(shape=0x044E, origin=arg_06) { + /* loopnext */ + } + ITEM.slot_25(0x1000, arg_06); + } + return; +} + +/* ===== slot 0x0F enterFastArea ===== */ +function eleew16_enterFastArea() /* entry=3 class_id=0x0007 slot=0x0F */ +{ + set_info(0x021B, *(arg_06)); + process_exclude(); + if ((Item.getFrame(arg_06) == 1) || (Item.getStatus(arg_06) & 0x1000)) { + return; + } + else { + local_0A = Item.getQLo(arg_06); + ITEM.slot_24(0x1000, arg_06); + local_04 = (Item.getX(arg_06) + 64); + local_06 = Item.getY(arg_06); + local_08 = Item.getZ(arg_06); + suspend; + suspend; + suspend; + } + return; +} diff --git a/USECODE/REGRET/ELEEW4.unk b/USECODE/REGRET/ELEEW4.unk new file mode 100644 index 0000000..8e6aaf6 --- /dev/null +++ b/USECODE/REGRET/ELEEW4.unk @@ -0,0 +1,41 @@ + +/* synthesized appendix for ELEEW4 */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x0A equip ===== */ +function eleew4_equip() /* entry=92 class_id=0x01A7 slot=0x0A */ +{ + set_info(0x0211, *(arg_06)); + process_exclude(); + if (!arg_0A) { + spawn ELEEW4.enterFastArea(pid, arg_06); + suspend; + return; + } + else { + for local_02 in nearby_items(shape=0x044E, origin=arg_06) { + /* loopnext */ + } + ITEM.slot_25(0x1000, arg_06); + } + return; +} + +/* ===== slot 0x0F enterFastArea ===== */ +function eleew4_enterFastArea() /* entry=92 class_id=0x01A7 slot=0x0F */ +{ + set_info(0x021B, *(arg_06)); + process_exclude(); + if ((Item.getFrame(arg_06) == 1) || (Item.getStatus(arg_06) & 0x1000)) { + return; + } + else { + local_04 = (Item.getX(arg_06) + 64); + local_06 = Item.getY(arg_06); + local_08 = Item.getZ(arg_06); + local_0A = Item.getQLo(arg_06); + ITEM.slot_24(0x1000, arg_06); + suspend; + } + return; +} diff --git a/USECODE/REGRET/ELEEW8.unk b/USECODE/REGRET/ELEEW8.unk new file mode 100644 index 0000000..51db07d --- /dev/null +++ b/USECODE/REGRET/ELEEW8.unk @@ -0,0 +1,42 @@ + +/* synthesized appendix for ELEEW8 */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x0A equip ===== */ +function eleew8_equip() /* entry=56 class_id=0x0126 slot=0x0A */ +{ + set_info(0x0211, *(arg_06)); + process_exclude(); + if (!arg_0A) { + spawn ELEEW8.enterFastArea(pid, arg_06); + suspend; + return; + } + else { + for local_02 in nearby_items(shape=0x044E, origin=arg_06) { + /* loopnext */ + } + ITEM.slot_25(0x1000, arg_06); + } + return; +} + +/* ===== slot 0x0F enterFastArea ===== */ +function eleew8_enterFastArea() /* entry=56 class_id=0x0126 slot=0x0F */ +{ + set_info(0x021B, *(arg_06)); + process_exclude(); + if ((Item.getFrame(arg_06) == 1) || (Item.getStatus(arg_06) & 0x1000)) { + return; + } + else { + local_0A = Item.getQLo(arg_06); + ITEM.slot_24(0x1000, arg_06); + local_04 = (Item.getX(arg_06) + 64); + local_06 = Item.getY(arg_06); + local_08 = Item.getZ(arg_06); + suspend; + suspend; + } + return; +} diff --git a/USECODE/REGRET/ELENS16.unk b/USECODE/REGRET/ELENS16.unk new file mode 100644 index 0000000..16b9629 --- /dev/null +++ b/USECODE/REGRET/ELENS16.unk @@ -0,0 +1,43 @@ + +/* synthesized appendix for ELENS16 */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x0A equip ===== */ +function elens16_equip() /* entry=2 class_id=0x0006 slot=0x0A */ +{ + set_info(0x0211, *(arg_06)); + process_exclude(); + if (!arg_0A) { + spawn ELENS16.enterFastArea(pid, arg_06); + suspend; + return; + } + else { + for local_02 in nearby_items(shape=0x044D, origin=arg_06) { + /* loopnext */ + } + ITEM.slot_25(0x1000, arg_06); + } + return; +} + +/* ===== slot 0x0F enterFastArea ===== */ +function elens16_enterFastArea() /* entry=2 class_id=0x0006 slot=0x0F */ +{ + set_info(0x021B, *(arg_06)); + process_exclude(); + if ((Item.getFrame(arg_06) == 1) || (Item.getStatus(arg_06) & 0x1000)) { + return; + } + else { + local_0A = Item.getQLo(arg_06); + ITEM.slot_24(0x1000, arg_06); + local_04 = Item.getX(arg_06); + local_06 = (Item.getY(arg_06) + 64); + local_08 = Item.getZ(arg_06); + suspend; + suspend; + suspend; + } + return; +} diff --git a/USECODE/REGRET/ELENS4.unk b/USECODE/REGRET/ELENS4.unk new file mode 100644 index 0000000..31ee8dd --- /dev/null +++ b/USECODE/REGRET/ELENS4.unk @@ -0,0 +1,41 @@ + +/* synthesized appendix for ELENS4 */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x0A equip ===== */ +function elens4_equip() /* entry=93 class_id=0x01A8 slot=0x0A */ +{ + set_info(0x0211, *(arg_06)); + process_exclude(); + if (!arg_0A) { + spawn ELENS4.enterFastArea(pid, arg_06); + suspend; + return; + } + else { + for local_02 in nearby_items(shape=0x044D, origin=arg_06) { + /* loopnext */ + } + ITEM.slot_25(0x1000, arg_06); + } + return; +} + +/* ===== slot 0x0F enterFastArea ===== */ +function elens4_enterFastArea() /* entry=93 class_id=0x01A8 slot=0x0F */ +{ + set_info(0x021B, *(arg_06)); + process_exclude(); + if ((Item.getFrame(arg_06) == 1) || (Item.getStatus(arg_06) & 0x1000)) { + return; + } + else { + local_0A = Item.getQLo(arg_06); + ITEM.slot_24(0x1000, arg_06); + local_04 = Item.getX(arg_06); + local_06 = (Item.getY(arg_06) + 64); + local_08 = Item.getZ(arg_06); + suspend; + } + return; +} diff --git a/USECODE/REGRET/ELENS8.unk b/USECODE/REGRET/ELENS8.unk new file mode 100644 index 0000000..ca6ecf5 --- /dev/null +++ b/USECODE/REGRET/ELENS8.unk @@ -0,0 +1,42 @@ + +/* synthesized appendix for ELENS8 */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x0A equip ===== */ +function elens8_equip() /* entry=58 class_id=0x0128 slot=0x0A */ +{ + set_info(0x0211, *(arg_06)); + process_exclude(); + if (!arg_0A) { + spawn ELENS8.enterFastArea(pid, arg_06); + suspend; + return; + } + else { + for local_02 in nearby_items(shape=0x044D, origin=arg_06) { + /* loopnext */ + } + ITEM.slot_25(0x1000, arg_06); + } + return; +} + +/* ===== slot 0x0F enterFastArea ===== */ +function elens8_enterFastArea() /* entry=58 class_id=0x0128 slot=0x0F */ +{ + set_info(0x021B, *(arg_06)); + process_exclude(); + if ((Item.getFrame(arg_06) == 1) || (Item.getStatus(arg_06) & 0x1000)) { + return; + } + else { + local_0A = Item.getQLo(arg_06); + ITEM.slot_24(0x1000, arg_06); + local_04 = Item.getX(arg_06); + local_06 = (Item.getY(arg_06) + 64); + local_08 = Item.getZ(arg_06); + suspend; + suspend; + } + return; +} diff --git a/USECODE/REGRET/ELEVAT.unk b/USECODE/REGRET/ELEVAT.unk new file mode 100644 index 0000000..a06bff5 --- /dev/null +++ b/USECODE/REGRET/ELEVAT.unk @@ -0,0 +1,198 @@ + +/* synthesized appendix for ELEVAT */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x20 slot_20 ===== */ +function elevat_slot_20() /* entry=454 class_id=0x0A08 slot=0x20 */ +{ + set_info(0x0001, *(arg_06)); + if (!(Item.getStatus(arg_06) & 0x1000)) { + return; + } + else if (Item.getNpcNum(arg_06)) { + return; + } + else { + ELEVAT.slot_22(Item.getZ(arg_06), arg_06); + if (!retval) { + spawn ELEVAT.slot_23(pid, arg_06); + suspend; + return; + } + else { + spawn ELEVAT.slot_24(pid, arg_06); + suspend; + } + } + return; +} + +/* ===== slot 0x21 slot_21 ===== */ +function elevat_slot_21() /* entry=454 class_id=0x0A08 slot=0x21 */ +{ + return; +} + +/* ===== slot 0x22 slot_22 ===== */ +function elevat_slot_22() /* entry=454 class_id=0x0A08 slot=0x22 */ +{ + return; +} + +/* ===== slot 0x23 slot_23 ===== */ +function elevat_slot_23() /* entry=454 class_id=0x0A08 slot=0x23 */ +{ + set_info(0x0001, *(arg_06)); + local_06 = Item.getZ(arg_06); + local_08 = Item.getQHi(arg_06); + local_0A = ((Item.getQHi(arg_06) - local_06) / 2); + local_05 = 1; + while (local_05 > local_0A) { + /* loopscr value_u8=0x24 */ + /* loop current_var=0xFE string_bytes=0x1 loop_type=0x6 */ + while (!condition) { + if (Item.getShape(local_02) == 0x04FE) { + local_0E = (1 + local_0E); + } + /* loopnext */ + } + local_0C = 1; + while (local_0C > local_0E) { + local_02 = Item.getEtherealTop(); + local_0C = (1 + local_0C); + } + local_0E = 0; + spawn FREE.slot_3B(pid, 1, 0x00000000); + suspend; + local_05 = (1 + local_05); + } + if (!((local_08 - local_06) & 1)) { + /* loopscr value_u8=0x24 */ + /* loop current_var=0xFE string_bytes=0x1 loop_type=0x6 */ + while (!condition) { + local_0E = (1 + local_0E); + /* loopnext */ + } + local_0C = 1; + while (local_0C > local_0E) { + local_02 = Item.getEtherealTop(); + local_0C = (1 + local_0C); + } + } + /* bit_not */ + return; +} + +/* ===== slot 0x24 slot_24 ===== */ +function elevat_slot_24() /* entry=454 class_id=0x0A08 slot=0x24 */ +{ + set_info(0x0001, *(arg_06)); + local_05 = Item.getZ(arg_06); + ELEVAT.slot_21(arg_06); + local_07 = retval; + local_09 = ((local_05 - local_07) / 2); + local_02 = 1; + while (local_02 > local_09) { + local_10 = Item.getX(arg_06); + local_0E = Item.getY(arg_06); + local_0C = (Item.getZ(arg_06) - 2); + local_18 = 0; + /* loopscr value_u8=0x24 */ + /* loop current_var=0xF5 string_bytes=0x1 loop_type=0x6 */ + while (!condition) { + if (!Item.isCentreOn(*(arg_06), local_0B)) { + if (local_0B >= 0x0100) { + if (!Item.isCompletelyOn(*(arg_06), local_0B)) { + local_18 = (1 + local_18); + } + else { + local_18 = (1 + local_18); + } + } + else { + local_18 = (1 + local_18); + } + } + /* loopnext */ + } + if (!Item.legalMoveToPoint(0, 0, local_10, arg_06)) { + local_04 = 1; + while (local_04 > local_18) { + local_0B = Item.getEtherealTop(); + local_04 = (1 + local_04); + } + spawn FREE.slot_3B(pid, 1, 0x00000000); + suspend; + } + else { + local_04 = 1; + while (local_04 > local_18) { + local_0B = Item.getEtherealTop(); + local_04 = (1 + local_04); + } + spawn FREE.slot_3B(pid, 60, 0x00000000); + suspend; + spawn ELEVAT.slot_23(pid, arg_06); + suspend; + return; + } + local_18 = 0; + local_02 = (1 + local_02); + } + if (!((local_05 - local_07) & 1)) { + /* loopscr value_u8=0x24 */ + /* loop current_var=0xF5 string_bytes=0x1 loop_type=0x6 */ + while (!condition) { + if (!Item.isCentreOn(*(arg_06), local_0B)) { + local_18 = (1 + local_18); + } + /* loopnext */ + } + local_04 = 1; + while (local_04 > local_18) { + local_0B = Item.getEtherealTop(); + local_04 = (1 + local_04); + } + } + /* bit_not */ + return; +} + +/* ===== slot 0x25 slot_25 ===== */ +function elevat_slot_25() /* entry=454 class_id=0x0A08 slot=0x25 */ +{ + set_info(0x0001, *(arg_06)); + local_04 = 5; + /* loop_selector local_02 in nearby_items(shape=0x02DE, origin=arg_06) */ + while (!condition) { + FREE.slot_48((Item.getX(arg_06) - Item.getX(local_02))); + local_06 = retval; + FREE.slot_48((Item.getY(arg_06) - Item.getY(local_02))); + local_08 = retval; + if ((local_06 >= 2) && (local_08 < 2)) { + if ((Item.getStatus(local_02) & 0x1000) == 0) { + if (Item.getFrame(local_02) == 0) { + local_03 = 1; + while (local_03 > local_04) { + spawn FREE.slot_3B(pid, 1, 0x00000000); + suspend; + local_03 = (1 + local_03); + } + } + else { + local_03 = local_04; + while (local_03 <= 0) { + spawn FREE.slot_3B(pid, 1, 0x00000000); + suspend; + local_03 = (local_03 - 1); + } + spawn FREE.slot_3B(pid, 2, 0x00000000); + suspend; + } + /* bit_not */ + } + } + /* loopnext */ + } + return; +} diff --git a/USECODE/REGRET/ELEVATOR.unk b/USECODE/REGRET/ELEVATOR.unk new file mode 100644 index 0000000..04f4f09 --- /dev/null +++ b/USECODE/REGRET/ELEVATOR.unk @@ -0,0 +1,363 @@ + +/* synthesized appendix for ELEVATOR */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x06 gotHit ===== */ +function elevator_gotHit() /* entry=83 class_id=0x0190 slot=0x06 */ +{ + set_info(0x020C, *(arg_06)); + process_exclude(); + if (arg_0A >= 0x0100) { + local_02 = arg_0A; + NPC.slot_2A(local_02); + if (!retval) { + spawn ITEM.slot_2A(pid, 0, 2, local_02); + suspend; + while (Actor.isDead(local_02)) { + } + } + } + if ((arg_0A == 1) || (Ultima8Engine.getUnkCrusaderFlag() != 1)) { + return; + } + else if (Item.getQLo(arg_06) >= 100) { + /* str_to_ptr */ + /* free_stack_string value_u8=0x4 target=[SP+04h] */ + suspend; + return; + } + else { + /* pop_global global_id=0x9 size=0x1 */ + FREE.slot_3C(0x0220, 0); + /* global_address global_id=0x1E */ + while (!Actor.isBusy()) { + spawn FREE.slot_3B(pid, 2, 0x00000000); + suspend; + } + /* global_address global_id=0x1E */ + if (!Actor.isDead()) { + return; + } + else { + /* global_address global_id=0x1E */ + if (!Intrinsic0061()) { + /* global_address global_id=0x1E */ + /* global_address global_id=0x1E */ + suspend; + } + local_04 = arg_0A; + local_06 = Item.getQLo(arg_06); + local_08 = Item.getQHi(arg_06); + /* loopscr value_u8=0x24 */ + /* loop current_var=0xFC string_bytes=0x1 loop_type=0x6 */ + while (!condition) { + if (local_04 == *(arg_06)) { + if (!Item.isNpc(local_04)) { + if (local_04 == 1) { + local_0A = local_04; + } + } + else { + local_0C = Item.getShape(local_04); + } + } + /* loopnext */ + } + set_info(0x0220, 0); + if (local_08 == 0) { + } + else { + local_08 = (local_08 - 1); + } + /* global_address global_id=0x1E */ + if (!Actor.isDead()) { + return; + } + else if (local_06 >= 0x00C8) { + /* global_address global_id=0x1E */ + spawn ELEVATOR.slot_20(Actor.getMap(pid, local_06), local_08, arg_06); + suspend; + } + else if (local_06 == 0x00C8) { + spawn ELEVATOR.slot_20(pid, 18, 24, local_08, arg_06); + suspend; + } + else if (local_06 == 0x00C9) { + spawn ELEVATOR.slot_20(pid, 0x00C9, 5, local_08, arg_06); + suspend; + } + else if (local_06 == 0x00CA) { + spawn ELEVATOR.slot_20(pid, 0x00CA, 10, local_08, arg_06); + suspend; + } + else if (local_06 == 0x00CB) { + spawn ELEVATOR.slot_20(pid, 0x00CB, 10, local_08, arg_06); + suspend; + } + else if (local_06 == 0x00CC) { + spawn ELEVATOR.slot_20(pid, 0x00CC, 2, local_08, arg_06); + suspend; + } + else if (local_06 == 0x00CD) { + spawn ELEVATOR.slot_20(pid, 0x00CD, 8, local_08, arg_06); + suspend; + } + else if (local_06 == 0x00CE) { + spawn ELEVATOR.slot_20(pid, 0x00CE, 6, local_08, arg_06); + suspend; + } + else if (local_06 == 0x00CF) { + spawn ELEVATOR.slot_20(pid, 0x00CF, 16, local_08, arg_06); + suspend; + } + else if (local_06 == 0x00D0) { + spawn ELEVATOR.slot_20(pid, 0x00D0, 18, local_08, arg_06); + suspend; + } + else if (local_06 == 0x00D1) { + spawn ELEVATOR.slot_20(pid, 99, 14, local_08, arg_06); + suspend; + } + /* global_address global_id=0x1E */ + while (!Actor.isBusy()) { + spawn FREE.slot_3B(pid, 5, 0x00000000); + suspend; + } + FREE.slot_3C(0x0220, 0); + } + } + return; +} + +/* ===== slot 0x09 release ===== */ +function elevator_release() /* entry=83 class_id=0x0190 slot=0x09 */ +{ + set_info(0x020D, *(arg_06)); + process_exclude(); + local_02 = Item.getSurfaceWeight(arg_06); + if (local_02 == 0) { + spawn FREE.slot_3B(pid, 30, 0x00000000); + suspend; + /* loop_selector local_04 in selector_0x42(arg0=0x0289, arg1=0x01C7, arg2=(10 * 32), origin=global[0x001E]) */ + while (!condition) { + local_06 = local_04; + spawn DOOR.slot_21(pid, 2, local_06); + suspend; + /* loopnext */ + } + } + return; +} + +/* ===== slot 0x20 slot_20 ===== */ +function elevator_slot_20() /* entry=83 class_id=0x0190 slot=0x20 */ +{ + set_info(1, 0); + /* loop_selector local_06 in selector_0x42(arg0=0x0289, arg1=0x01C7, arg2=(10 * 32), origin=arg_06) */ + while (!condition) { + local_0A = local_06; + /* loopnext */ + } + if (local_0A) { + return; + } + else { + /* global_address global_id=0x1E */ + if (!Actor.isDead()) { + return; + } + else if (Item.getShape(local_0A) == 0x0289) { + /* global_address global_id=0x1E */ + suspend; + /* global_address global_id=0x1E */ + suspend; + /* global_address global_id=0x1E */ + suspend; + /* global_address global_id=0x1E */ + suspend; + } + else { + /* global_address global_id=0x1E */ + suspend; + /* global_address global_id=0x1E */ + suspend; + /* global_address global_id=0x1E */ + suspend; + /* global_address global_id=0x1E */ + suspend; + } + spawn FREE.slot_3B(pid, 2, 0x00000000); + suspend; + spawn DOOR.slot_21(pid, 2, local_0A); + suspend; + spawn FREE.slot_3B(pid, 100, 0x00000000); + suspend; + /* loop_selector local_06 in selector_0x42(arg0=0x01C4, arg1=0x0186, arg2=(20 * 32), origin=arg_06) */ + while (!condition) { + local_02 = local_06; + /* loopnext */ + } + for local_06 in selector_0x42(arg0=0x01C5, arg1=0x0184, arg2=(20 * 32), origin=arg_06) { + local_04 = local_06; + /* loopnext */ + } + if (!(local_02 && local_04)) { + spawn FREE.slot_3B(pid, 30, 0x00000000); + suspend; + /* global_address global_id=0x1E */ + /* global_address global_id=0x1E */ + /* global_address global_id=0x1E */ + while (!Intrinsic0035(0x00F4)) { + spawn FREE.slot_3B(pid, 2, 0x00000000); + suspend; + } + /* global_address global_id=0x1E */ + if (!arg_0A) { + local_08 = 5; + while (local_08 > 7) { + spawn FREE.slot_3B(pid, 30, 0x00000000); + suspend; + local_08 = (1 + local_08); + } + spawn FREE.slot_3B(pid, 30, 0x00000000); + suspend; + } + else { + local_08 = 1; + while (local_08 > 4) { + spawn FREE.slot_3B(pid, 30, 0x00000000); + suspend; + local_08 = (1 + local_08); + } + } + } + spawn FREE.slot_3B(pid, 30, 0x00000000); + suspend; + suspend; + spawn FREE.slot_45(pid, 0x00000000); + suspend; + /* global_address global_id=0x1E */ + if (!Actor.getMap(arg_0C)) { + local_0D = 1; + FREE.slot_22(); + if (arg_0C == 5) { + suspend; + spawn FREE.slot_3B(pid, 120, 0x00000000); + suspend; + /* str_to_ptr */ + /* free_stack_string value_u8=0x0 target=[SP+00h] */ + return; + } + if (arg_0C == 6) { + spawn FREE.slot_3B(pid, 60, 0x00000000); + suspend; + spawn FLICTEST.slot_20(pid, 19, local_0F); + suspend; + } + } + if ((arg_0C == 2) && (arg_0E != 0x0082)) { + suspend; + spawn FREE.slot_3B(pid, 120, 0x00000000); + suspend; + /* str_to_ptr */ + /* free_stack_string value_u8=0x0 target=[SP+00h] */ + } + if ((arg_0C == 16) && (arg_0E != 100)) { + suspend; + spawn FREE.slot_3B(pid, 120, 0x00000000); + suspend; + /* str_to_ptr */ + /* free_stack_string value_u8=0x0 target=[SP+00h] */ + spawn FREE.slot_2A(0x00000000); + } + if ((arg_0C == 14) && (arg_0E != 0x00C7)) { + suspend; + spawn FREE.slot_3B(pid, 120, 0x00000000); + suspend; + } + suspend; + if ((arg_0C == 14) && (arg_0E != 0x00C7)) { + /* pop_global global_id=0x17 size=0x1 */ + /* str_to_ptr */ + /* free_stack_string value_u8=0x0 target=[SP+00h] */ + suspend; + /* global_address global_id=0x1E */ + } + if (!local_0D) { + FREE.slot_23(); + /* global_address global_id=0x1E */ + } + for local_06 in nearby_items(shape=0x0190, origin=global[0x001E]) { + /* global_address global_id=0x1E */ + /* global_address global_id=0x1E */ + /* global_address global_id=0x1E */ + suspend; + FREE.slot_3C(12, local_06); + /* loopnext */ + } + if (arg_0E == 18) { + /* global_address global_id=0x1E */ + suspend; + } + suspend; + spawn FREE.slot_3B(pid, 30, 0x00000000); + suspend; + /* loop_selector local_06 in selector_0x42(arg0=0x01C4, arg1=0x0186, arg2=(10 * 32), origin=global[0x001E]) */ + while (!condition) { + local_02 = local_06; + /* loopnext */ + } + for local_06 in selector_0x42(arg0=0x01C5, arg1=0x0184, arg2=(10 * 32), origin=global[0x001E]) { + local_04 = local_06; + /* loopnext */ + } + if (!(local_02 && local_04)) { + /* global_address global_id=0x1E */ + /* global_address global_id=0x1E */ + /* global_address global_id=0x1E */ + while (!Intrinsic0035(0x00F2)) { + spawn FREE.slot_3B(pid, 2, 0x00000000); + suspend; + } + /* global_address global_id=0x1E */ + if (!arg_0A) { + local_08 = 1; + while (local_08 > 4) { + spawn FREE.slot_3B(pid, 30, 0x00000000); + suspend; + local_08 = (1 + local_08); + } + } + else { + local_08 = 0; + while (local_08 > 3) { + spawn FREE.slot_3B(pid, 30, 0x00000000); + suspend; + local_08 = (1 + local_08); + } + } + spawn FREE.slot_3B(pid, 30, 0x00000000); + suspend; + } + spawn FREE.slot_3B(pid, 120, 0x00000000); + suspend; + /* loop_selector local_06 in selector_0x42(arg0=0x018D, arg1=0x01C6, arg2=(10 * 32), origin=global[0x001E]) */ + while (!condition) { + local_0A = local_06; + spawn DOOR.slot_21(pid, 1, local_0A); + suspend; + /* loopnext */ + } + /* global_address global_id=0x1E */ + /* global_address global_id=0x1E */ + suspend; + /* global_address global_id=0x1E */ + /* global_address global_id=0x1E */ + suspend; + /* global_address global_id=0x1E */ + /* global_address global_id=0x1E */ + suspend; + /* global_address global_id=0x1E */ + } + return; +} diff --git a/USECODE/REGRET/ELEVPLAT.unk b/USECODE/REGRET/ELEVPLAT.unk new file mode 100644 index 0000000..b383ff5 --- /dev/null +++ b/USECODE/REGRET/ELEVPLAT.unk @@ -0,0 +1,74 @@ + +/* synthesized appendix for ELEVPLAT */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x05 hit ===== */ +function elevplat_hit() /* entry=60 class_id=0x012F slot=0x05 */ +{ + set_info(0x020B, *(arg_06)); + process_exclude(); + if (arg_0A == 1) { + local_02 = arg_0A; + } + return; +} + +/* ===== slot 0x0A equip ===== */ +function elevplat_equip() /* entry=60 class_id=0x012F slot=0x0A */ +{ + set_info(0x0211, *(arg_06)); + process_exclude(); + if (!(Item.getStatus(arg_06) & 0x1000)) { + return; + } + else { + /* pop_global global_id=0x0 size=0x1 */ + local_02 = Item.getZ(arg_06); + if ((arg_0A < 0x00A0) && (arg_0A < 0x00FF)) { + /* pop_global global_id=0x0 size=0x1 */ + arg_0A = (arg_0A - 0x00A0); + } + if (arg_0A == 0x00FF) { + local_04 = Item.getQHi(arg_06); + if ((local_04 == 88) || ((local_02 + 1) <= local_04)) { + } + } + else if (!arg_0A) { + } + spawn ELEVAT.slot_20(pid, arg_06); + suspend; + if (global[0x0000] == 1) { + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x3A */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xFA string_bytes=0x6 loop_type=0x6 */ + while (!condition) { + spawn FREE.slot_3B(pid, 2, 0x00000000); + suspend; + /* loopnext */ + } + } + } + return; +} + +/* ===== slot 0x0F enterFastArea ===== */ +function elevplat_enterFastArea() /* entry=60 class_id=0x012F slot=0x0F */ +{ + set_info(0x021B, *(arg_06)); + process_exclude(); + if (Item.getQuality(arg_06) == 101) { + suspend; + } + return; +} + +/* ===== slot 0x10 leaveFastArea ===== */ +function elevplat_leaveFastArea() /* entry=60 class_id=0x012F slot=0x10 */ +{ + set_info(0x021C, *(arg_06)); + process_exclude(); + /* bit_not */ + return; +} diff --git a/USECODE/REGRET/ELITE.unk b/USECODE/REGRET/ELITE.unk new file mode 100644 index 0000000..de5963a --- /dev/null +++ b/USECODE/REGRET/ELITE.unk @@ -0,0 +1,14 @@ + +/* synthesized appendix for ELITE */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x0E calledFromAnim ===== */ +function elite_calledFromAnim() /* entry=279 class_id=0x04D1 slot=0x0E */ +{ + set_info(0x021A, *(arg_06)); + process_exclude(); + local_02 = *(arg_06); + set_info(1, 0); + spawn NPCDEATH.slot_20(Intrinsic000D(arg_06), *(arg_06), arg_06); + return; +} diff --git a/USECODE/REGRET/ELY.unk b/USECODE/REGRET/ELY.unk new file mode 100644 index 0000000..8139e5e --- /dev/null +++ b/USECODE/REGRET/ELY.unk @@ -0,0 +1,36 @@ + +/* synthesized appendix for ELY */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x0F enterFastArea ===== */ +function ely_enterFastArea() /* entry=186 class_id=0x035D slot=0x0F */ +{ + entry: + set_info(0x021B, *(arg_06)); + process_exclude(); + + block_00DF: + while (true) { + suspend; + local_02 = 0x0096; + while (local_02 > 0x00A1) { + spawn FREE.slot_3B(pid, 10, 0x00000000); + suspend; + local_02 = (1 + local_02); + } + spawn FREE.slot_3B(pid, 0x008C, 0x00000000); + suspend; + local_02 = 0; + while (local_02 > 10) { + spawn FREE.slot_3B(pid, 10, 0x00000000); + suspend; + local_02 = (1 + local_02); + } + spawn FREE.slot_3B(pid, 120, 0x00000000); + suspend; + } + + block_0186: + return; + +} diff --git a/USECODE/REGRET/ENERGY.unk b/USECODE/REGRET/ENERGY.unk new file mode 100644 index 0000000..f5bb340 --- /dev/null +++ b/USECODE/REGRET/ENERGY.unk @@ -0,0 +1,56 @@ + +/* synthesized appendix for ENERGY */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x01 use ===== */ +function energy_use() /* entry=341 class_id=0x0582 slot=0x01 */ +{ + set_info(0x0207, *(arg_06)); + process_exclude(); + set_info(0x00F0, 0); + /* global_address global_id=0x1E */ + if (MainActor.getMaxEnergy() == 0x09C4) { + local_04 = 0x03E8; + } + else { + /* global_address global_id=0x1E */ + if (MainActor.getMaxEnergy() == 0x1388) { + local_04 = 0x07D0; + } + else { + /* global_address global_id=0x1E */ + if (MainActor.getMaxEnergy() == 0x2710) { + local_04 = 0x0BB8; + } + else { + /* global_address global_id=0x1E */ + } + } + } + /* global_address global_id=0x1E */ + /* global_address global_id=0x1E */ + if (!MainActor.getMaxEnergy(Actor.getMana())) { + spawn FREE.slot_21(pid, 0x01A7, 0x00000000); + suspend; + return; + } + else { + /* global_address global_id=0x1E */ + /* global_address global_id=0x1E */ + if (!MainActor.getMaxEnergy((Actor.getMana() + local_04))) { + /* global_address global_id=0x1E */ + /* global_address global_id=0x1E */ + spawn FREE.slot_21(pid, 0x010D, 0x00000000); + suspend; + } + else { + /* global_address global_id=0x1E */ + /* global_address global_id=0x1E */ + spawn FREE.slot_21(pid, 0x010D, 0x00000000); + suspend; + } + spawn FREE.slot_3B(pid, 30, 0x00000000); + suspend; + } + return; +} diff --git a/USECODE/REGRET/ENFORCER.unk b/USECODE/REGRET/ENFORCER.unk new file mode 100644 index 0000000..d1cf299 --- /dev/null +++ b/USECODE/REGRET/ENFORCER.unk @@ -0,0 +1,12 @@ + +/* synthesized appendix for ENFORCER */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x0E calledFromAnim ===== */ +function enforcer_calledFromAnim() /* entry=95 class_id=0x01B4 slot=0x0E */ +{ + set_info(0x021A, *(arg_06)); + process_exclude(); + spawn NPCDEATH.slot_20(Intrinsic000D(arg_06), *(arg_06), arg_06); + return; +} diff --git a/USECODE/REGRET/ESPACE.unk b/USECODE/REGRET/ESPACE.unk new file mode 100644 index 0000000..49c98e1 --- /dev/null +++ b/USECODE/REGRET/ESPACE.unk @@ -0,0 +1,40 @@ + +/* synthesized appendix for ESPACE */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x0A equip ===== */ +function espace_equip() /* entry=178 class_id=0x0336 slot=0x0A */ +{ + set_info(0x0211, *(arg_06)); + process_exclude(); + spawn BRIDGE.slot_20(pid, arg_0A, arg_06); + suspend; + return; +} + +/* ===== slot 0x0F enterFastArea ===== */ +function espace_enterFastArea() /* entry=178 class_id=0x0336 slot=0x0F */ +{ + set_info(0x021B, *(arg_06)); + process_exclude(); + if (Item.getFrame(arg_06) == 1) { + return; + } + else { + local_02 = Item.getQLo(arg_06); + if (local_02 == 0) { + return; + } + else { + local_04 = Item.getQHi(arg_06); + if ((local_04 >= 1) || (local_04 > 127)) { + return; + } + else { + spawn BRIDGE.slot_26(pid, local_04, local_02, arg_06); + suspend; + } + } + } + return; +} diff --git a/USECODE/REGRET/ESPACE2.unk b/USECODE/REGRET/ESPACE2.unk new file mode 100644 index 0000000..c97e36c --- /dev/null +++ b/USECODE/REGRET/ESPACE2.unk @@ -0,0 +1,40 @@ + +/* synthesized appendix for ESPACE2 */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x0A equip ===== */ +function espace2_equip() /* entry=144 class_id=0x0290 slot=0x0A */ +{ + set_info(0x0211, *(arg_06)); + process_exclude(); + spawn BRIDGE.slot_20(pid, arg_0A, arg_06); + suspend; + return; +} + +/* ===== slot 0x0F enterFastArea ===== */ +function espace2_enterFastArea() /* entry=144 class_id=0x0290 slot=0x0F */ +{ + set_info(0x021B, *(arg_06)); + process_exclude(); + if (Item.getFrame(arg_06) == 1) { + return; + } + else { + local_02 = Item.getQLo(arg_06); + if (local_02 == 0) { + return; + } + else { + local_04 = Item.getQHi(arg_06); + if ((local_04 >= 1) || (local_04 > 127)) { + return; + } + else { + spawn BRIDGE.slot_26(pid, local_04, local_02, arg_06); + suspend; + } + } + } + return; +} diff --git a/USECODE/REGRET/EVENT.unk b/USECODE/REGRET/EVENT.unk new file mode 100644 index 0000000..738df79 --- /dev/null +++ b/USECODE/REGRET/EVENT.unk @@ -0,0 +1,1116 @@ + +/* synthesized appendix for EVENT */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x0A equip ===== */ +function event_equip() /* entry=188 class_id=0x0361 slot=0x0A */ +{ + entry: + set_info(0x0211, *(arg_06)); + process_exclude(); + local_1D = Item.getQLo(arg_06); + if (arg_0A != 0) goto block_0119; + + block_00F2: + /* global_address global_id=0x1E */ + goto block_218C; + + block_0119: + if (arg_0A != 1) goto block_01F7; + + block_0121: + while (!Actor.isBusy()) { + spawn FREE.slot_3B(pid, 2, 0x00000000); + suspend; + } + + block_0148: + /* global_address global_id=0x1E */ + local_1F = Camera.getX(); + local_21 = Camera.getY(); + local_23 = Item.getX(arg_06); + local_25 = Item.getY(arg_06); + spawn FREE.slot_3B(pid, 2, 0x00000000); + suspend; + spawn TRIGGER.slot_20(pid, (0 + 0x0080), *(arg_06), arg_06); + suspend; + spawn FREE.slot_3B(pid, 2, 0x00000000); + suspend; + spawn TRIGGER.slot_20(pid, (1 + 0x0080), *(arg_06), arg_06); + suspend; + /* global_address global_id=0x1E */ + goto block_218C; + + block_01F7: + if (arg_0A != 2) goto block_028B; + + block_01FF: + while (!Actor.isBusy()) { + spawn FREE.slot_3B(pid, 2, 0x00000000); + suspend; + } + + block_0226: + spawn FREE.slot_46(pid, Item.getY(arg_06), Item.getX(arg_06), 0x00000000); + suspend; + spawn FREE.slot_3B(pid, 60, 0x00000000); + suspend; + spawn TRIGGER.slot_20(pid, (0 + 0x0080), *(arg_06), arg_06); + suspend; + goto block_218C; + + block_028B: + if (arg_0A != 3) goto block_02CD; + + block_0293: + spawn FREE.slot_47(pid, 0x00000000); + suspend; + spawn TRIGGER.slot_20(pid, (1 + 0x0080), *(arg_06), arg_06); + suspend; + goto block_218C; + + block_02CD: + if (arg_0A != 5) goto block_02E4; + + block_02D5: + goto block_218C; + + block_02E4: + if (arg_0A != 6) goto block_02FB; + + block_02EC: + goto block_218C; + + block_02FB: + if (arg_0A != 7) goto block_0312; + + block_0303: + goto block_218C; + + block_0312: + if (arg_0A != 8) goto block_038A; + + block_031A: + local_0F = Item.getQHi(arg_06); + if (local_0F != 0) goto block_034C; + + block_032D: + spawn TRIGGER.slot_20(pid, (0 + 0x0080), *(arg_06), arg_06); + suspend; + goto block_0387; + + block_034C: + local_11 = Item.getQLo(arg_06); + spawn TRIGGER.slot_20(pid, (0 + 0x0080), *(arg_06), arg_06); + suspend; + + block_0387: + goto block_218C; + + block_038A: + if (arg_0A != 9) goto block_0406; + + block_0392: + local_0F = Item.getQLo(arg_06); + /* loop_selector local_02 in nearby_items(family=1, origin=arg_06) */ + + block_03B4: + while (!condition) { + /* loopnext */ + } + + block_0401: + goto block_218C; + + block_0406: + if (arg_0A != 10) goto block_050F; + + block_040E: + for local_02 in nearby_items(shape=0x033A, origin=arg_06) { + if (Item.getQLo(arg_06) == Item.getQLo(local_02)) { + if (Item.getFrame(local_02) == 0) { + local_04 = local_02; + } + } + /* loopnext */ + } + + block_0456: + for local_02 in nearby_items(shape=0x033A, origin=arg_06) { + if (Item.getQLo(arg_06) == Item.getQLo(local_02)) { + if (Item.getFrame(local_02) == 1) { + local_06 = local_02; + } + } + /* loopnext */ + } + + block_04A0: + if (local_04 && local_06) goto block_050C; + + block_04AA: + local_0D = Item.getX(local_06); + local_0B = Item.getY(local_06); + local_09 = Item.getZ(local_06); + + block_050C: + goto block_218C; + + block_050F: + if (arg_0A != 15) goto block_0548; + + block_0517: + /* global_address global_id=0x1E */ + goto block_218C; + + block_0548: + if (arg_0A != 16) goto block_0583; + + block_0550: + /* global_address global_id=0x1E */ + /* global_address global_id=0x1E */ + /* global_address global_id=0x1E */ + goto block_218C; + + block_0583: + if (arg_0A != 22) goto block_05C9; + + block_058B: + for local_02 in nearby_items(family=1, origin=arg_06) { + if (Item.getQLo(local_02) == local_1D) { + ITEM.slot_25(0x1000, local_02); + } + /* loopnext */ + } + + block_05C4: + goto block_218C; + + block_05C9: + if (arg_0A != 23) goto block_0600; + + block_05D1: + for local_02 in nearby_items(family=1, origin=arg_06) { + ITEM.slot_25(0x1000, local_02); + /* loopnext */ + } + + block_05FB: + goto block_218C; + + block_0600: + if (arg_0A != 30) goto block_0627; + + block_0608: + spawn TRIGGER.slot_20(pid, (1 + 0x0080), *(arg_06), arg_06); + suspend; + goto block_218C; + + block_0627: + if (arg_0A != 45) goto block_0741; + + block_062F: + local_27 = (Item.getNpcNum(arg_06) * 5); + + block_063D: + while (!(1)) { + local_0F = 0; + FREE.slot_32((Item.getQHi(arg_06) != 0), *(arg_06), global[0x001E]); + if (retval <= 50) { + return; + } + for local_02 in nearby_items(family=6, origin=global[0x001E]) { + if (!Item.isNpc(local_02)) { + local_0F = (1 + local_0F); + } + /* loopnext */ + } + if (local_0F > 4) { + spawn TRIGGER.slot_20(pid, (0 + 0x0080), *(arg_06), arg_06); + suspend; + spawn FREE.slot_3B(pid, local_27, 0x00000000); + suspend; + spawn TRIGGER.slot_20(pid, (1 + 0x0080), *(arg_06), arg_06); + suspend; + spawn FREE.slot_3B(pid, local_27, 0x00000000); + suspend; + } + else { + spawn FREE.slot_3B(pid, 120, 0x00000000); + suspend; + } + } + + block_073E: + goto block_218C; + + block_0741: + if (arg_0A != 46) goto block_0865; + + block_0749: + local_27 = (Item.getNpcNum(arg_06) * 5); + + block_0757: + while (!(1)) { + local_0F = 0; + FREE.slot_32((Item.getQHi(arg_06) != 0), *(arg_06), global[0x001E]); + if ((retval > 50) || (Item.isEntirelyOnScreen(arg_06) == 1)) { + return; + } + for local_02 in nearby_items(family=6, origin=global[0x001E]) { + if (local_02 >= 0x00FF) { + local_0F = (1 + local_0F); + } + /* loopnext */ + } + if (local_0F > 4) { + spawn TRIGGER.slot_20(pid, (0 + 0x0080), *(arg_06), arg_06); + suspend; + spawn FREE.slot_3B(pid, local_27, 0x00000000); + suspend; + spawn TRIGGER.slot_20(pid, (1 + 0x0080), *(arg_06), arg_06); + suspend; + spawn FREE.slot_3B(pid, local_27, 0x00000000); + suspend; + } + else { + spawn FREE.slot_3B(pid, 120, 0x00000000); + suspend; + } + } + + block_0862: + goto block_218C; + + block_0865: + if (arg_0A != 47) goto block_0A0D; + + block_086D: + local_27 = Item.getNpcNum(arg_06); + local_11 = Item.getQHi(arg_06); + + block_0883: + while (!(1)) { + if (Item.getQHi(arg_06) == 1) { + local_0F = 1; + while (local_0F > local_11) { + spawn TRIGGER.slot_20(pid, (0 + 0x0080), *(arg_06), arg_06); + suspend; + spawn FREE.slot_3B(pid, (local_27 * 3), 0x00000000); + suspend; + spawn TRIGGER.slot_20(pid, (1 + 0x0080), *(arg_06), arg_06); + suspend; + spawn FREE.slot_3B(pid, (local_27 * 3), 0x00000000); + suspend; + local_0F = (1 + local_0F); + } + } + else if (Item.getQHi(arg_06) <= 1) { + local_0F = 1; + while (local_0F > local_11) { + spawn TRIGGER.slot_20(pid, (0 + 0x0080), *(arg_06), arg_06); + suspend; + spawn FREE.slot_3B(pid, local_27, 0x00000000); + suspend; + spawn TRIGGER.slot_20(pid, (1 + 0x0080), *(arg_06), arg_06); + suspend; + local_0F = (1 + local_0F); + } + } + else { + local_0F = 1; + while (local_0F > local_11) { + spawn TRIGGER.slot_20(pid, (0 + 0x0080), *(arg_06), arg_06); + suspend; + spawn FREE.slot_3B(pid, local_27, 0x00000000); + suspend; + local_0F = (1 + local_0F); + } + return; + } + } + + block_0A0A: + goto block_218C; + + block_0A0D: + if (arg_0A != 48) goto block_0AE4; + + block_0A15: + local_27 = Item.getNpcNum(arg_06); + local_11 = Item.getQHi(arg_06); + local_0F = 0; + + block_0A2F: + while (local_0F > local_11) { + spawn TRIGGER.slot_20(pid, (0 + 0x0080), *(arg_06), arg_06); + suspend; + spawn FREE.slot_3B(pid, local_27, 0x00000000); + suspend; + local_0F = (1 + local_0F); + } + + block_0A7E: + local_0F = 0; + + block_0A82: + while (local_0F > local_11) { + spawn TRIGGER.slot_20(pid, (1 + 0x0080), *(arg_06), arg_06); + suspend; + spawn FREE.slot_3B(pid, local_27, 0x00000000); + suspend; + local_0F = (1 + local_0F); + } + + block_0AD4: + goto block_218C; + + block_0AE1: + goto block_218C; + + block_0AE4: + if (arg_0A != 49) goto block_0BE1; + + block_0AEC: + local_27 = Item.getNpcNum(arg_06); + local_11 = Item.getQHi(arg_06); + + block_0B02: + while (!(1)) { + if (!Item.getQHi(arg_06)) { + local_0F = 1; + while (local_0F > local_11) { + spawn TRIGGER.slot_20(pid, (0 + 0x0080), *(arg_06), arg_06); + suspend; + spawn FREE.slot_3B(pid, local_27, 0x00000000); + suspend; + spawn TRIGGER.slot_20(pid, (1 + 0x0080), *(arg_06), arg_06); + suspend; + local_0F = (1 + local_0F); + } + } + else { + local_0F = 1; + while (local_0F > local_11) { + spawn TRIGGER.slot_20(pid, (0 + 0x0080), *(arg_06), arg_06); + suspend; + spawn FREE.slot_3B(pid, local_27, 0x00000000); + suspend; + local_0F = (1 + local_0F); + } + return; + } + } + + block_0BDE: + goto block_218C; + + block_0BE1: + if (arg_0A != 50) goto block_0C23; + + block_0BE9: + /* loopscr value_u8=0x24 */ + /* loop current_var=0xF8 string_bytes=0x1 loop_type=0x2 */ + + block_0BF8: + while (!condition) { + if (Item.getQLo(local_08) == 100) { + spawn DOOR.slot_20(pid, local_08); + suspend; + } + /* loopnext */ + } + + block_0C1E: + goto block_218C; + + block_0C23: + if (arg_0A != 51) goto block_0E2C; + + block_0C2B: + for local_02 in selector_0x42(arg0=0x01C4, arg1=0x0186, arg2=(30 * 32), origin=arg_06) { + local_29 = local_02; + /* loopnext */ + } + + block_0C4D: + for local_02 in selector_0x42(arg0=0x01C5, arg1=0x0184, arg2=(30 * 32), origin=arg_06) { + local_2B = local_02; + /* loopnext */ + } + + block_0C71: + if (local_29 && local_2B) goto block_0DAA; + + block_0C7B: + + block_0C86: + while (!Intrinsic0035(0x00F2, local_2B)) { + spawn FREE.slot_3B(pid, 2, 0x00000000); + suspend; + } + + block_0CAF: + if local_2D goto block_0D22; + + block_0CBF: + local_0F = 1; + + block_0CD7: + while (local_0F > 4) { + spawn FREE.slot_3B(pid, 30, 0x00000000); + suspend; + local_0F = (1 + local_0F); + } + + block_0D1F: + goto block_0D74; + + block_0D22: + local_0F = 0; + + block_0D26: + while (local_0F > 3) { + spawn FREE.slot_3B(pid, 30, 0x00000000); + suspend; + local_0F = (1 + local_0F); + } + + block_0D74: + spawn FREE.slot_3B(pid, 30, 0x00000000); + suspend; + + block_0DAA: + spawn FREE.slot_3B(pid, 120, 0x00000000); + suspend; + spawn TRIGGER.slot_20(pid, 0, *(arg_06), arg_06); + suspend; + /* loop_selector local_02 in selector_0x42(arg0=0x018D, arg1=0x01C6, arg2=(30 * 32), origin=arg_06) */ + + block_0DF0: + while (!condition) { + local_08 = local_02; + spawn DOOR.slot_21(pid, 1, local_08); + suspend; + /* loopnext */ + } + + block_0E0F: + spawn TRIGGER.slot_20(pid, 1, *(arg_06), arg_06); + suspend; + goto block_218C; + + block_0E2C: + if (arg_0A != 52) goto block_0EF5; + + block_0E34: + local_27 = (Item.getNpcNum(arg_06) * 5); + + block_0E42: + while (!(1)) { + for local_19 in nearby_items(family=6, origin=arg_06) { + if (!Item.isNpc(local_19)) { + if (Intrinsic000D(local_19) == Item.getQLo(arg_06)) { + if (Actor.isDead(local_19)) { + spawn FREE.slot_3B(pid, local_27, 0x00000000); + suspend; + } + } + } + /* loopnext */ + } + return; + } + + block_0EF2: + goto block_218C; + + block_0EF5: + if (arg_0A != 53) goto block_0FBC; + + block_0EFD: + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x44 */ + /* loop current_var=0xE7 string_bytes=0xA loop_type=0x2 */ + + block_0F1A: + while (!condition) { + spawn FREE.slot_3B(pid, 1, 0x00000000); + suspend; + spawn TRIGGER.slot_20(pid, (0 + 0x0080), *(arg_06), local_02); + suspend; + /* loopnext */ + } + + block_0FB7: + goto block_218C; + + block_0FBC: + if (arg_0A != 54) goto block_1004; + + block_0FC4: + for local_19 in nearby_items(shape=0x04C8, origin=arg_06) { + /* loopnext */ + } + + block_0FFF: + goto block_218C; + + block_1004: + if (arg_0A != 60) goto block_109D; + + block_100C: + for local_19 in nearby_items(shape=0x04C8, origin=arg_06) { + spawn FREE.slot_3B(pid, 1, 0x00000000); + suspend; + /* loopnext */ + } + + block_1098: + goto block_218C; + + block_109D: + if (arg_0A != 61) goto block_1136; + + block_10A5: + for local_19 in nearby_items(shape=0x01CD, origin=arg_06) { + spawn FREE.slot_3B(pid, 1, 0x00000000); + suspend; + /* loopnext */ + } + + block_1131: + goto block_218C; + + block_1136: + if (arg_0A != 62) goto block_11CF; + + block_113E: + for local_19 in nearby_items(shape=0x01CD, origin=arg_06) { + spawn FREE.slot_3B(pid, 1, 0x00000000); + suspend; + /* loopnext */ + } + + block_11CA: + goto block_218C; + + block_11CF: + if (arg_0A != 75) goto block_1227; + + block_11D7: + for local_02 in nearby_items(family=6, origin=arg_06) { + if (Item.getQLo(local_02) == Item.getQLo(arg_06)) { + suspend; + } + /* loopnext */ + } + + block_1222: + goto block_218C; + + block_1227: + if (arg_0A != 80) goto block_12E1; + + block_122F: + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x44 */ + /* loop current_var=0xFE string_bytes=0xA loop_type=0x2 */ + + block_124C: + while (!condition) { + /* loopnext */ + } + + block_125B: + for local_02 in nearby_items(shape=0x054E, origin=arg_06) { + /* loopnext */ + } + + block_12DC: + goto block_218C; + + block_12E1: + if (arg_0A != 85) goto block_13FB; + + block_12E9: + local_27 = (Item.getNpcNum(arg_06) * 5); + + block_12F7: + while (!(1)) { + local_0F = 0; + FREE.slot_32((Item.getQHi(arg_06) != 0), *(arg_06), global[0x001E]); + if (retval <= 50) { + return; + } + for local_02 in nearby_items(family=6, origin=global[0x001E]) { + if (!Item.isNpc(local_02)) { + local_0F = (1 + local_0F); + } + /* loopnext */ + } + if (local_0F > 4) { + spawn TRIGGER.slot_20(pid, (0 + 0x0080), *(arg_06), arg_06); + suspend; + spawn FREE.slot_3B(pid, local_27, 0x00000000); + suspend; + spawn TRIGGER.slot_20(pid, (1 + 0x0080), *(arg_06), arg_06); + suspend; + spawn FREE.slot_3B(pid, local_27, 0x00000000); + suspend; + } + else { + spawn FREE.slot_3B(pid, 120, 0x00000000); + suspend; + } + } + + block_13F8: + goto block_218C; + + block_13FB: + if (arg_0A != 97) goto block_1473; + + block_1403: + /* global_address global_id=0x1E */ + + block_1427: + while (Ultima8Engine.moveKeyDownRecently()) { + spawn FREE.slot_3B(pid, 2, 0x00000000); + suspend; + } + + block_144A: + /* global_address global_id=0x1E */ + /* global_address global_id=0x1E */ + /* global_address global_id=0x1E */ + goto block_218C; + + block_1473: + if (arg_0A != 98) goto block_14A9; + + block_147B: + for local_02 in nearby_items(shape=0x0361, origin=arg_06) { + /* loopnext */ + } + + block_14A4: + goto block_218C; + + block_14A9: + if (arg_0A != 99) goto block_14DF; + + block_14B1: + for local_02 in nearby_items(shape=0x0361, origin=arg_06) { + /* loopnext */ + } + + block_14DA: + goto block_218C; + + block_14DF: + if (arg_0A != 100) goto block_1519; + + block_14E7: + spawn FREE.slot_3B(pid, 60, 0x00000000); + suspend; + suspend; + goto block_218C; + + block_1519: + if (arg_0A != 120) goto block_15C6; + + block_1521: + local_2F = World.gameDifficulty(); + local_31 = Item.getQLo(arg_06); + if (local_2F != 1) goto block_1556; + + block_153B: + spawn TRIGGER.slot_20(pid, 0, *(arg_06), arg_06); + suspend; + goto block_15B6; + + block_1556: + if (local_2F != 2) goto block_1586; + + block_155E: + spawn TRIGGER.slot_20(pid, 0, *(arg_06), arg_06); + suspend; + goto block_15B6; + + block_1586: + if (local_2F >= 3) goto block_15B6; + + block_158E: + spawn TRIGGER.slot_20(pid, 0, *(arg_06), arg_06); + suspend; + goto block_15B6; + + block_15B6: + goto block_218C; + + block_15C3: + goto block_218C; + + block_15C6: + if (arg_0A != 125) goto block_168C; + + block_15CE: + local_33 = World.gameDifficulty(); + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x49 */ + /* loop current_var=0xFE string_bytes=0x14 loop_type=0x2 */ + + block_1601: + while (!condition) { + /* loopnext */ + } + + block_1684: + goto block_218C; + + block_1689: + goto block_218C; + + block_168C: + if (arg_0A != 0x0091) goto block_17B7; + + block_1695: + local_27 = (Item.getNpcNum(arg_06) * 5); + local_15 = World.gameDifficulty(); + if (local_15 != 3) goto block_16B6; + + block_16B2: + local_15 = 4; + + block_16B6: + local_17 = ((Item.getQHi(arg_06) - 1) + local_15); + + block_16C7: + while (!(1)) { + local_0F = 0; + FREE.slot_32((local_17 != 0), *(arg_06), global[0x001E]); + if (retval <= 50) { + return; + } + for local_02 in nearby_items(family=6, origin=global[0x001E]) { + if (!Item.isNpc(local_02)) { + local_0F = (1 + local_0F); + } + /* loopnext */ + } + if (local_0F > 4) { + local_17 = (local_17 - 1); + spawn TRIGGER.slot_20(pid, (0 + 0x0080), *(arg_06), arg_06); + suspend; + spawn FREE.slot_3B(pid, local_27, 0x00000000); + suspend; + spawn TRIGGER.slot_20(pid, (1 + 0x0080), *(arg_06), arg_06); + suspend; + spawn FREE.slot_3B(pid, local_27, 0x00000000); + suspend; + } + else { + spawn FREE.slot_3B(pid, 120, 0x00000000); + suspend; + } + } + + block_17B4: + goto block_218C; + + block_17B7: + if (arg_0A != 0x0092) goto block_18EC; + + block_17C0: + local_27 = (Item.getNpcNum(arg_06) * 5); + local_15 = World.gameDifficulty(); + if (local_15 != 3) goto block_17E1; + + block_17DD: + local_15 = 4; + + block_17E1: + local_17 = ((Item.getQHi(arg_06) - 1) + local_15); + + block_17F2: + while (!(1)) { + local_0F = 0; + FREE.slot_32((local_17 != 0), *(arg_06), global[0x001E]); + if ((retval > 50) || (Item.isEntirelyOnScreen(arg_06) == 1)) { + return; + } + for local_02 in nearby_items(family=6, origin=global[0x001E]) { + if (local_02 >= 0x00FF) { + local_0F = (1 + local_0F); + } + /* loopnext */ + } + if (local_0F > 4) { + local_17 = (local_17 - 1); + spawn TRIGGER.slot_20(pid, (0 + 0x0080), *(arg_06), arg_06); + suspend; + spawn FREE.slot_3B(pid, local_27, 0x00000000); + suspend; + spawn TRIGGER.slot_20(pid, (1 + 0x0080), *(arg_06), arg_06); + suspend; + spawn FREE.slot_3B(pid, local_27, 0x00000000); + suspend; + } + else { + spawn FREE.slot_3B(pid, 120, 0x00000000); + suspend; + } + } + + block_18E9: + goto block_218C; + + block_18EC: + if (arg_0A != 0x0094) goto block_19D5; + + block_18F5: + local_27 = Item.getNpcNum(arg_06); + local_11 = (Item.getQHi(arg_06) + 1); + local_13 = Item.getQLo(arg_06); + local_0F = local_13; + + block_191D: + while (local_0F > local_11) { + spawn TRIGGER.slot_20(pid, (0 + 0x0080), *(arg_06), arg_06); + suspend; + spawn FREE.slot_3B(pid, local_27, 0x00000000); + suspend; + local_0F = (1 + local_0F); + } + + block_196C: + local_0F = local_13; + + block_1970: + while (local_0F > local_11) { + spawn TRIGGER.slot_20(pid, (1 + 0x0080), *(arg_06), arg_06); + suspend; + spawn FREE.slot_3B(pid, local_27, 0x00000000); + suspend; + local_0F = (1 + local_0F); + } + + block_19C5: + goto block_218C; + + block_19D2: + goto block_218C; + + block_19D5: + if (arg_0A != 0x0095) goto block_1AD3; + + block_19DE: + local_27 = Item.getNpcNum(arg_06); + local_11 = Item.getQHi(arg_06); + + block_19F4: + while (!(1)) { + if (!Item.getQHi(arg_06)) { + local_0F = 1; + while (local_0F > local_11) { + spawn TRIGGER.slot_20(pid, (0 + 0x0080), *(arg_06), arg_06); + suspend; + spawn FREE.slot_3B(pid, local_27, 0x00000000); + suspend; + spawn TRIGGER.slot_20(pid, (1 + 0x0080), *(arg_06), arg_06); + suspend; + local_0F = (1 + local_0F); + } + } + else { + local_0F = 1; + while (local_0F > local_11) { + spawn TRIGGER.slot_20(pid, (0 + 0x0080), *(arg_06), arg_06); + suspend; + spawn FREE.slot_3B(pid, local_27, 0x00000000); + suspend; + local_0F = (1 + local_0F); + } + return; + } + } + + block_1AD0: + goto block_218C; + + block_1AD3: + if (arg_0A != 0x0096) goto block_1AF7; + + block_1ADC: + suspend; + goto block_218C; + + block_1AF7: + if (arg_0A != 0x00C8) goto block_1F2E; + + block_1B00: + for local_02 in selector_0x42(arg0=0x028C, arg1=0x05AC, arg2=(32 * 32), origin=arg_06) { + if (Item.getQLo(local_02) == Item.getQLo(arg_06)) { + if (Item.getQHi(local_02) <= 99) { + spawn FREE.slot_3B(pid, 10, 0x00000000); + suspend; + } + } + /* loopnext */ + } + + block_1BCD: + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x4B */ + /* loop current_var=0xFE string_bytes=0x18 loop_type=0x2 */ + + block_1C01: + while (!condition) { + if (Item.getQLo(local_02) == Item.getQLo(arg_06)) { + if (Item.getQHi(local_02) <= 99) { + spawn FREE.slot_3B(pid, 10, 0x00000000); + suspend; + } + } + /* loopnext */ + } + + block_1CB7: + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x48 */ + /* loop current_var=0xFE string_bytes=0x12 loop_type=0x2 */ + + block_1CE2: + while (!condition) { + if (Item.getQLo(local_02) == Item.getQLo(arg_06)) { + if (Item.getQHi(local_02) <= 99) { + spawn FREE.slot_3B(pid, 10, 0x00000000); + suspend; + } + } + /* loopnext */ + } + + block_1D6E: + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x44 */ + /* loop current_var=0xFE string_bytes=0xA loop_type=0x2 */ + + block_1D8D: + while (!condition) { + if (Item.getQLo(local_02) == Item.getQLo(arg_06)) { + ITEM.slot_26(0x1000, local_02); + if (!retval) { + ITEM.slot_25(0x1000, local_02); + spawn FREE.slot_3B(pid, 10, 0x00000000); + suspend; + } + } + /* loopnext */ + } + + block_1E3C: + for local_02 in selector_0x42(arg0=0x019A, arg1=0x0196, arg2=(32 * 32), origin=arg_06) { + if (Item.getQLo(local_02) == Item.getQLo(arg_06)) { + if (Item.getQHi(local_02) <= 99) { + spawn FREE.slot_3B(pid, 10, 0x00000000); + suspend; + } + } + /* loopnext */ + } + + block_1F29: + goto block_218C; + + block_1F2E: + if (arg_0A != 0x00C9) goto block_1F7D; + + block_1F37: + local_35 = Item.getQHi(arg_06); + if (local_35 < 4) goto block_1F5E; + + block_1F4A: + local_35 = (1 + local_35); + goto block_1F7A; + + block_1F5E: + spawn TRIGGER.slot_20(pid, (1 + 0x0080), *(arg_06), arg_06); + suspend; + + block_1F7A: + goto block_218C; + + block_1F7D: + if (arg_0A != 0x00CA) goto block_1FCB; + + block_1F86: + for local_02 in nearby_items(family=1, origin=arg_06) { + if (Item.getQLo(local_02) == Item.getQLo(arg_06)) { + ITEM.slot_25(0x1000, local_02); + } + /* loopnext */ + } + + block_1FC6: + goto block_218C; + + block_1FCB: + if (arg_0A != 0x00CF) goto block_2081; + + block_1FD4: + for local_02 in nearby_items(family=6, origin=arg_06) { + if (local_02 >= 0x0100) { + local_1B = local_02; + if ((local_1B == World.getControlledNPCNum()) && (local_1B != 1)) { + spawn TRIGGER.slot_20(pid, 0, *(arg_06), arg_06); + suspend; + spawn FREE.slot_3B(pid, 60, 0x00000000); + suspend; + spawn ITEM.slot_2A(pid, 0, 2, local_1B); + suspend; + while (Actor.isDead(local_1B)) { + } + } + } + /* loopnext */ + } + + block_207C: + goto block_218C; + + block_2081: + if (arg_0A != 0x00D2) goto block_218C; + + block_208A: + /* loop_selector local_02 in selector_0x42(arg0=0x05BA, arg1=0x05E6, arg2=(5 * 32), origin=arg_06) */ + + block_20A1: + if condition goto block_2187; + + block_20A4: + ITEM.slot_24(2, local_1B); + spawn FREE.slot_3B(pid, 5, 0x00000000); + suspend; + + block_2153: + while (World.getControlledNPCNum() == 1) { + spawn FREE.slot_3B(pid, 2, 0x00000000); + suspend; + } + + block_2178: + goto block_2187; + + block_2183: + /* loopnext */ + goto block_20A1; + + block_2187: + goto block_218C; + + block_218C: + return; + +} diff --git a/USECODE/REGRET/EWALLEW.unk b/USECODE/REGRET/EWALLEW.unk new file mode 100644 index 0000000..852a1bf --- /dev/null +++ b/USECODE/REGRET/EWALLEW.unk @@ -0,0 +1,27 @@ + +/* synthesized appendix for EWALLEW */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x0B unequip ===== */ +function ewallew_unequip() /* entry=328 class_id=0x0565 slot=0x0B */ +{ + set_info(0x0212, *(arg_06)); + process_exclude(); + return; +} + +/* ===== slot 0x0F enterFastArea ===== */ +function ewallew_enterFastArea() /* entry=328 class_id=0x0565 slot=0x0F */ +{ + set_info(0x021B, *(arg_06)); + process_exclude(); + return; +} + +/* ===== slot 0x13 avatarStoleSomething ===== */ +function ewallew_avatarStoleSomething() /* entry=328 class_id=0x0565 slot=0x13 */ +{ + set_info(0x022E, *(arg_06)); + process_exclude(); + return; +} diff --git a/USECODE/REGRET/EWALLNS.unk b/USECODE/REGRET/EWALLNS.unk new file mode 100644 index 0000000..4b8e587 --- /dev/null +++ b/USECODE/REGRET/EWALLNS.unk @@ -0,0 +1,27 @@ + +/* synthesized appendix for EWALLNS */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x0B unequip ===== */ +function ewallns_unequip() /* entry=327 class_id=0x0564 slot=0x0B */ +{ + set_info(0x0212, *(arg_06)); + process_exclude(); + return; +} + +/* ===== slot 0x0F enterFastArea ===== */ +function ewallns_enterFastArea() /* entry=327 class_id=0x0564 slot=0x0F */ +{ + set_info(0x021B, *(arg_06)); + process_exclude(); + return; +} + +/* ===== slot 0x13 avatarStoleSomething ===== */ +function ewallns_avatarStoleSomething() /* entry=327 class_id=0x0564 slot=0x13 */ +{ + set_info(0x022E, *(arg_06)); + process_exclude(); + return; +} diff --git a/USECODE/REGRET/EYECAMEW.unk b/USECODE/REGRET/EYECAMEW.unk new file mode 100644 index 0000000..a491724 --- /dev/null +++ b/USECODE/REGRET/EYECAMEW.unk @@ -0,0 +1,68 @@ + +/* synthesized appendix for EYECAMEW */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x06 gotHit ===== */ +function eyecamew_gotHit() /* entry=136 class_id=0x0260 slot=0x06 */ +{ + set_info(0x020C, *(arg_06)); + process_exclude(); + spawn WALLGUN2.slot_21(arg_0C, arg_0A, arg_06); + return; +} + +/* ===== slot 0x0A equip ===== */ +function eyecamew_equip() /* entry=136 class_id=0x0260 slot=0x0A */ +{ + set_info(0x0211, *(arg_06)); + process_exclude(); + if (World.getControlledNPCNum() == 0) { + spawn WALLGUN.slot_24(pid, arg_0A, World.getControlledNPCNum(), arg_06); + suspend; + return; + } + else { + spawn WALLGUN.slot_24(pid, arg_0A, global[0x001E], arg_06); + suspend; + } + return; +} + +/* ===== slot 0x0B unequip ===== */ +function eyecamew_unequip() /* entry=136 class_id=0x0260 slot=0x0B */ +{ + set_info(0x0212, *(arg_06)); + process_exclude(); + if (!(Item.getStatus(arg_06) & 4)) { + return; + } + else { + spawn WALLGUN.slot_27(arg_06); + } + return; +} + +/* ===== slot 0x0F enterFastArea ===== */ +function eyecamew_enterFastArea() /* entry=136 class_id=0x0260 slot=0x0F */ +{ + set_info(0x021B, *(arg_06)); + process_exclude(); + if (!(Item.getStatus(arg_06) & 4)) { + return; + } + else { + spawn WALLGUN.slot_27(arg_06); + } + return; +} + +/* ===== slot 0x10 leaveFastArea ===== */ +function eyecamew_leaveFastArea() /* entry=136 class_id=0x0260 slot=0x10 */ +{ + set_info(0x021C, *(arg_06)); + process_exclude(); + /* bit_not */ + FREE.slot_3C(1, *(arg_06)); + FREE.slot_3C(0x020A, *(arg_06)); + return; +} diff --git a/USECODE/REGRET/EYECAMNS.unk b/USECODE/REGRET/EYECAMNS.unk new file mode 100644 index 0000000..2c3ab90 --- /dev/null +++ b/USECODE/REGRET/EYECAMNS.unk @@ -0,0 +1,69 @@ + +/* synthesized appendix for EYECAMNS */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x06 gotHit ===== */ +function eyecamns_gotHit() /* entry=135 class_id=0x025F slot=0x06 */ +{ + set_info(0x020C, *(arg_06)); + process_exclude(); + /* bit_not */ + spawn WALLGUN2.slot_21(arg_0C, arg_0A, arg_06); + return; +} + +/* ===== slot 0x0A equip ===== */ +function eyecamns_equip() /* entry=135 class_id=0x025F slot=0x0A */ +{ + set_info(0x0211, *(arg_06)); + process_exclude(); + if (World.getControlledNPCNum() == 0) { + spawn WALLGUN.slot_24(pid, arg_0A, World.getControlledNPCNum(), arg_06); + suspend; + return; + } + else { + spawn WALLGUN.slot_24(pid, arg_0A, global[0x001E], arg_06); + suspend; + } + return; +} + +/* ===== slot 0x0B unequip ===== */ +function eyecamns_unequip() /* entry=135 class_id=0x025F slot=0x0B */ +{ + set_info(0x0212, *(arg_06)); + process_exclude(); + if (!(Item.getStatus(arg_06) & 4)) { + return; + } + else { + spawn WALLGUN.slot_27(arg_06); + } + return; +} + +/* ===== slot 0x0F enterFastArea ===== */ +function eyecamns_enterFastArea() /* entry=135 class_id=0x025F slot=0x0F */ +{ + set_info(0x021B, *(arg_06)); + process_exclude(); + if (!(Item.getStatus(arg_06) & 4)) { + return; + } + else { + spawn WALLGUN.slot_27(arg_06); + } + return; +} + +/* ===== slot 0x10 leaveFastArea ===== */ +function eyecamns_leaveFastArea() /* entry=135 class_id=0x025F slot=0x10 */ +{ + set_info(0x021C, *(arg_06)); + process_exclude(); + /* bit_not */ + FREE.slot_3C(1, *(arg_06)); + FREE.slot_3C(0x020A, *(arg_06)); + return; +} diff --git a/USECODE/REGRET/FADE.unk b/USECODE/REGRET/FADE.unk new file mode 100644 index 0000000..07539d8 --- /dev/null +++ b/USECODE/REGRET/FADE.unk @@ -0,0 +1,268 @@ + +/* synthesized appendix for FADE */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x0A equip ===== */ +function fade_equip() /* entry=296 class_id=0x04FC slot=0x0A */ +{ + set_info(0x0211, *(arg_06)); + process_exclude(); + local_1B = Item.getQLo(arg_06); + if (arg_0A == 1) { + spawn FREE.slot_44(0x00000000); + spawn FREE.slot_3B(pid, 0x03E8, 0x00000000); + suspend; + spawn FADE.slot_20(0x00000000); + return; + } + else if (arg_0A == 3) { + /* str_to_ptr */ + /* free_stack_string value_u8=0x0 target=[SP+00h] */ + /* str_to_ptr */ + /* free_stack_string value_u8=0x0 target=[SP+00h] */ + /* pop_global global_id=0x13 size=0x1 */ + spawn FREE.slot_3B(1, pid, 60, 0x00000000); + suspend; + spawn TRIGGER.slot_20(pid, 0, *(arg_06), arg_06); + suspend; + return; + } + else if (arg_0A == 5) { + /* str_to_ptr */ + /* free_stack_string value_u8=0x0 target=[SP+00h] */ + /* str_to_ptr */ + /* free_stack_string value_u8=0x0 target=[SP+00h] */ + /* global_address global_id=0x1E */ + spawn FREE.slot_3B(pid, 5, 0x00000000); + suspend; + spawn FREE.slot_44(0x00000000); + spawn TRIGGER.slot_20(pid, 0, *(arg_06), arg_06); + suspend; + spawn FREE.slot_3B(pid, 120, 0x00000000); + suspend; + /* pop_global global_id=0x14 size=0x1 */ + spawn FREE.slot_3B(1, pid, 2, 0x00000000); + suspend; + /* global_address global_id=0x1E */ + /* global_address global_id=0x1E */ + /* global_address global_id=0x1E */ + spawn FREE.slot_3B(pid, 5, 0x00000000); + suspend; + return; + } + else if (arg_0A == 8) { + /* pop_global global_id=0x18 size=0x1 */ + spawn FREE.slot_21(1, pid, 0x017A, 0x00000000); + suspend; + /* str_to_ptr */ + /* free_stack_string value_u8=0x0 target=[SP+00h] */ + /* str_to_ptr */ + /* free_stack_string value_u8=0x0 target=[SP+00h] */ + spawn TRIGGER.slot_20(pid, 0, *(arg_06), arg_06); + suspend; + return; + } + else if (arg_0A == 0x00D2) { + /* global_address global_id=0x1E */ + if (!Intrinsic0061()) { + /* global_address global_id=0x1E */ + /* global_address global_id=0x1E */ + suspend; + } + /* global_address global_id=0x1E */ + suspend; + /* global_address global_id=0x1E */ + suspend; + /* global_address global_id=0x1E */ + suspend; + /* loop_selector local_02 in nearby_items(shape=0x053A, origin=arg_06) */ + while (!condition) { + if (Item.getQLo(local_02) == 1) { + FREE.slot_32(local_02, global[0x001E]); + while ((retval > 3) && (local_0F == 10)) { + /* global_address global_id=0x1E */ + /* global_address global_id=0x1E */ + /* global_address global_id=0x1E */ + spawn NPC.slot_22(Item.getDirFromTo16(Item.getX(pid, 1, Item.getY((Item.getY(local_02) - 32), (Item.getX(local_02) - 16))))); + suspend; + local_0F = (1 + local_0F); + } + } + /* loopnext */ + } + /* global_address global_id=0x1E */ + suspend; + /* loop_selector local_02 in selector_0x42(arg0=0x04D9, arg1=0x03AC, arg2=(32 * 32), origin=arg_06) */ + while (!condition) { + if (Item.getShape(local_02) == 0x04D9) { + local_27 = local_02; + } + if (Item.getShape(local_02) == 0x03AC) { + local_29 = local_02; + } + /* loopnext */ + } + if (!local_27) { + suspend; + suspend; + suspend; + suspend; + suspend; + } + if (!local_29) { + suspend; + suspend; + suspend; + suspend; + suspend; + } + spawn FREE.slot_3B(pid, 60, 0x00000000); + suspend; + /* str_to_ptr */ + /* free_stack_string value_u8=0x0 target=[SP+00h] */ + /* str_to_ptr */ + /* free_stack_string value_u8=0x0 target=[SP+00h] */ + /* global_address global_id=0x1E */ + /* global_address global_id=0x1E */ + /* global_address global_id=0x1E */ + /* global_address global_id=0x1E */ + /* loop_selector local_02 in nearby_items(shape=0x01DB, origin=arg_06) */ + while (!condition) { + /* loopnext */ + } + return; + } + else if (arg_0A == 0x00D3) { + spawn FREE.slot_3B(pid, 0x00C8, 0x00000000); + suspend; + /* loop_selector local_02 in selector_0x42(arg0=0x04D9, arg1=0x03AC, arg2=(32 * 32), origin=arg_06) */ + while (!condition) { + if (Item.getShape(local_02) == 0x04D9) { + local_27 = local_02; + } + if (Item.getShape(local_02) == 0x03AC) { + local_29 = local_02; + } + /* loopnext */ + } + if (!local_27) { + suspend; + suspend; + suspend; + suspend; + suspend; + suspend; + spawn NPC.slot_24(pid, local_27); + suspend; + } + if (!local_29) { + suspend; + suspend; + suspend; + suspend; + suspend; + suspend; + suspend; + suspend; + suspend; + spawn NPC.slot_24(pid, local_29); + suspend; + } + for local_02 in nearby_items(shape=0x03AD, origin=arg_06) { + if (Item.getQLo(local_02) == 78) { + local_08 = local_02; + spawn DOOR.slot_21(pid, 0, local_08); + suspend; + } + /* loopnext */ + } + for local_02 in nearby_items(shape=0x01EE, origin=arg_06) { + if (Item.getQLo(local_02) == 0x0084) { + local_08 = local_02; + spawn DOOR.slot_21(pid, 0, local_08); + suspend; + } + /* loopnext */ + } + spawn FREE.slot_3B(pid, 60, 0x00000000); + suspend; + /* pop_global global_id=0x15 size=0x1 */ + spawn TRIGGER.slot_20(1, pid, (0 + 0x0080), *(arg_06), arg_06); + suspend; + spawn FREE.slot_44(0x00000000); + return; + } + else if (arg_0A == 0x00DE) { + /* global_address global_id=0x1E */ + if (!Intrinsic0061()) { + /* global_address global_id=0x1E */ + /* global_address global_id=0x1E */ + suspend; + } + for local_02 in nearby_items(shape=0x053A, origin=arg_06) { + if (Item.getQLo(local_02) == 1) { + FREE.slot_32(local_02, global[0x001E]); + while ((retval > 3) && (local_0F == 10)) { + /* global_address global_id=0x1E */ + /* global_address global_id=0x1E */ + /* global_address global_id=0x1E */ + spawn NPC.slot_22(Item.getDirFromTo16(Item.getX(pid, 1, Item.getY((Item.getY(local_02) - 32), (Item.getX(local_02) - 16))))); + suspend; + local_0F = (1 + local_0F); + } + } + /* loopnext */ + } + /* global_address global_id=0x1E */ + suspend; + /* loop_selector local_08 in nearby_items(shape=0x05A4, origin=arg_06) */ + while (!condition) { + if (Item.getQLo(local_08) == 2) { + spawn DOOR.slot_21(pid, 2, local_08); + suspend; + } + /* loopnext */ + } + spawn FREE.slot_3B(pid, 60, 0x00000000); + suspend; + spawn FREE.slot_21(pid, 0x01E5, 0x00000000); + suspend; + spawn FREE.slot_21(pid, 0x01E6, 0x00000000); + suspend; + /* loop_selector local_19 in nearby_items(shape=0x05B1, origin=arg_06) */ + while (!condition) { + /* loopnext */ + } + /* global_address global_id=0x1E */ + suspend; + return; + } + return; +} + +/* ===== slot 0x20 slot_20 ===== */ +function fade_slot_20() /* entry=296 class_id=0x04FC slot=0x20 */ +{ + set_info(0x0223, 0); + while (!(1)) { + while (!(global[0x000E])) { + spawn FREE.slot_3B(pid, 100, 0x00000000); + suspend; + } + local_02 = 1; + while (local_02 > 3) { + while (!AudioProcess.isSFXPlaying(0x0118)) { + spawn FREE.slot_3B(pid, 5, 0x00000000); + suspend; + } + local_02 = (1 + local_02); + } + while (!(global[0x000E])) { + spawn FREE.slot_3B(pid, 100, 0x00000000); + suspend; + } + spawn FREE.slot_3B(pid, 0x0320, 0x00000000); + suspend; + } + return; +} diff --git a/USECODE/REGRET/FALLINGC.unk b/USECODE/REGRET/FALLINGC.unk new file mode 100644 index 0000000..3052638 --- /dev/null +++ b/USECODE/REGRET/FALLINGC.unk @@ -0,0 +1,22 @@ + +/* synthesized appendix for FALLINGC */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x06 gotHit ===== */ +function fallingc_gotHit() /* entry=18 class_id=0x005F slot=0x06 */ +{ + set_info(0x020C, *(arg_06)); + process_exclude(); + /* loopscr value_u8=0x24 */ + /* loop current_var=0xFE string_bytes=0x1 loop_type=0x6 */ + while (!condition) { + if (Item.getShape(local_02) == 95) { + } + else if ((Item.getFamily(local_02) == 6) && (Item.isNpc(local_02) != 0)) { + spawn ITEM.slot_2A(pid, 1, 0, local_02); + suspend; + } + /* loopnext */ + } + return; +} diff --git a/USECODE/REGRET/FFFLOOR.unk b/USECODE/REGRET/FFFLOOR.unk new file mode 100644 index 0000000..bb5c074 --- /dev/null +++ b/USECODE/REGRET/FFFLOOR.unk @@ -0,0 +1,103 @@ + +/* synthesized appendix for FFFLOOR */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x06 gotHit ===== */ +function fffloor_gotHit() /* entry=64 class_id=0x0135 slot=0x06 */ +{ + set_info(0x020C, *(arg_06)); + process_exclude(); + if ((Item.getFrame(arg_06) == 1) || (arg_0A > 0x0100)) { + return; + } + else { + local_02 = arg_0A; + while (!Item.isOn(*(arg_06), local_02)) { + if (Item.getFrame(arg_06) == 1) { + return; + } + FREE.slot_20(pid, 8); + spawn NPC.slot_2F(retval, *(arg_06), local_02); + suspend; + spawn FREE.slot_3B(pid, 2, 0x00000000); + suspend; + } + } + return; +} + +/* ===== slot 0x0A equip ===== */ +function fffloor_equip() /* entry=64 class_id=0x0135 slot=0x0A */ +{ + set_info(0x0211, *(arg_06)); + process_exclude(); + if (arg_0A == 0) { + for local_02 in nearby_items(shape=17, origin=arg_06) { + /* loopnext */ + } + spawn FREE.slot_3B(pid, 10, 0x00000000); + suspend; + return; + } + else if (arg_0A == 1) { + for local_02 in nearby_items(shape=17, origin=arg_06) { + /* loopnext */ + } + /* bit_not */ + return; + } + else if (arg_0A == 29) { + spawn FREE.slot_3B(pid, 10, 0x00000000); + suspend; + /* loop_selector local_04 in nearby_items(shape=0x0135, origin=arg_06) */ + while (!condition) { + /* loopnext */ + } + return; + } + else if (arg_0A == 30) { + spawn FREE.slot_3B(pid, 10, 0x00000000); + suspend; + /* loop_selector local_02 in nearby_items(shape=17, origin=arg_06) */ + while (!condition) { + /* loopnext */ + } + spawn FREE.slot_3B(pid, 5, 0x00000000); + suspend; + /* loop_selector local_04 in nearby_items(shape=0x0135, origin=arg_06) */ + while (!condition) { + /* loopnext */ + } + return; + } + else if (arg_0A == 31) { + for local_02 in nearby_items(shape=17, origin=arg_06) { + /* loopnext */ + } + return; + } + return; +} + +/* ===== slot 0x0B unequip ===== */ +function fffloor_unequip() /* entry=64 class_id=0x0135 slot=0x0B */ +{ + set_info(0x0212, *(arg_06)); + process_exclude(); + if (Item.getFrame(arg_06) == 1) { + return; + } + else { + for local_02 in nearby_items(family=6, origin=arg_06) { + if (Item.isNpc(local_02) == 1) { + if (!Item.overlaps(local_02, arg_06)) { + FREE.slot_20(pid, 8); + spawn NPC.slot_2F(retval, *(arg_06), local_02); + suspend; + } + } + /* loopnext */ + } + } + return; +} diff --git a/USECODE/REGRET/FFFLOOR2.unk b/USECODE/REGRET/FFFLOOR2.unk new file mode 100644 index 0000000..bc6a7cf --- /dev/null +++ b/USECODE/REGRET/FFFLOOR2.unk @@ -0,0 +1,101 @@ + +/* synthesized appendix for FFFLOOR2 */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x06 gotHit ===== */ +function fffloor2_gotHit() /* entry=104 class_id=0x01C8 slot=0x06 */ +{ + set_info(0x020C, *(arg_06)); + process_exclude(); + if ((Item.getFrame(arg_06) == 1) || (arg_0A > 0x0100)) { + return; + } + else { + local_02 = arg_0A; + while (!Item.isOn(*(arg_06), local_02)) { + if (Item.getFrame(arg_06) == 1) { + return; + } + FREE.slot_20(pid, 8); + spawn NPC.slot_2F(retval, *(arg_06), local_02); + suspend; + spawn FREE.slot_3B(pid, 2, 0x00000000); + suspend; + } + } + return; +} + +/* ===== slot 0x0A equip ===== */ +function fffloor2_equip() /* entry=104 class_id=0x01C8 slot=0x0A */ +{ + set_info(0x0211, *(arg_06)); + process_exclude(); + if (arg_0A == 0) { + for local_02 in nearby_items(shape=17, origin=arg_06) { + /* loopnext */ + } + return; + } + else if (arg_0A == 1) { + for local_02 in nearby_items(shape=17, origin=arg_06) { + /* loopnext */ + } + /* bit_not */ + return; + } + else if (arg_0A == 29) { + spawn FREE.slot_3B(pid, 10, 0x00000000); + suspend; + /* loop_selector local_04 in nearby_items(shape=0x0135, origin=arg_06) */ + while (!condition) { + /* loopnext */ + } + return; + } + else if (arg_0A == 30) { + spawn FREE.slot_3B(pid, 10, 0x00000000); + suspend; + /* loop_selector local_02 in nearby_items(shape=17, origin=arg_06) */ + while (!condition) { + /* loopnext */ + } + spawn FREE.slot_3B(pid, 10, 0x00000000); + suspend; + /* loop_selector local_04 in nearby_items(shape=0x01C8, origin=arg_06) */ + while (!condition) { + /* loopnext */ + } + return; + } + else if (arg_0A == 31) { + for local_02 in nearby_items(shape=17, origin=arg_06) { + /* loopnext */ + } + return; + } + return; +} + +/* ===== slot 0x0B unequip ===== */ +function fffloor2_unequip() /* entry=104 class_id=0x01C8 slot=0x0B */ +{ + set_info(0x0212, *(arg_06)); + process_exclude(); + if (Item.getFrame(arg_06) == 1) { + return; + } + else { + for local_02 in nearby_items(family=6, origin=arg_06) { + if (Item.isNpc(local_02) == 1) { + if (!Item.overlaps(local_02, arg_06)) { + FREE.slot_20(pid, 8); + spawn NPC.slot_2F(retval, *(arg_06), local_02); + suspend; + } + } + /* loopnext */ + } + } + return; +} diff --git a/USECODE/REGRET/FIREEGG.unk b/USECODE/REGRET/FIREEGG.unk new file mode 100644 index 0000000..fc23ec7 --- /dev/null +++ b/USECODE/REGRET/FIREEGG.unk @@ -0,0 +1,22 @@ + +/* synthesized appendix for FIREEGG */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x07 hatch ===== */ +function fireegg_hatch() /* entry=423 class_id=0x0904 slot=0x07 */ +{ + set_info(0x0210, *(arg_06)); + process_exclude(); + local_04 = Egg.getEggId(arg_06); + /* loop_selector local_02 in nearby_items(shape=0x0403, origin=arg_06) */ + while (!condition) { + if (Item.getQLo(local_02) == local_04) { + suspend; + spawn FREE.slot_3B(pid, 0x015E, 0x00000000); + suspend; + suspend; + } + /* loopnext */ + } + return; +} diff --git a/USECODE/REGRET/FLAME1.unk b/USECODE/REGRET/FLAME1.unk new file mode 100644 index 0000000..7a8ca77 --- /dev/null +++ b/USECODE/REGRET/FLAME1.unk @@ -0,0 +1,27 @@ + +/* synthesized appendix for FLAME1 */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x06 gotHit ===== */ +function flame1_gotHit() /* entry=240 class_id=0x043B slot=0x06 */ +{ + set_info(0x020C, *(arg_06)); + process_exclude(); + FREE.slot_35(arg_0C, arg_0A); + if (!retval) { + return; + } + else { + spawn STEAM.slot_23(pid, arg_0A, arg_06); + suspend; + } + return; +} + +/* ===== slot 0x0F enterFastArea ===== */ +function flame1_enterFastArea() /* entry=240 class_id=0x043B slot=0x0F */ +{ + set_info(0x021B, *(arg_06)); + process_exclude(); + return; +} diff --git a/USECODE/REGRET/FLAME2.unk b/USECODE/REGRET/FLAME2.unk new file mode 100644 index 0000000..3f25341 --- /dev/null +++ b/USECODE/REGRET/FLAME2.unk @@ -0,0 +1,27 @@ + +/* synthesized appendix for FLAME2 */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x06 gotHit ===== */ +function flame2_gotHit() /* entry=298 class_id=0x050A slot=0x06 */ +{ + set_info(0x020C, *(arg_06)); + process_exclude(); + FREE.slot_35(arg_0C, arg_0A); + if (!retval) { + return; + } + else { + spawn STEAM.slot_23(pid, arg_0A, arg_06); + suspend; + } + return; +} + +/* ===== slot 0x0F enterFastArea ===== */ +function flame2_enterFastArea() /* entry=298 class_id=0x050A slot=0x0F */ +{ + set_info(0x021B, *(arg_06)); + process_exclude(); + return; +} diff --git a/USECODE/REGRET/FLAMEBOX.unk b/USECODE/REGRET/FLAMEBOX.unk new file mode 100644 index 0000000..4855330 --- /dev/null +++ b/USECODE/REGRET/FLAMEBOX.unk @@ -0,0 +1,109 @@ + +/* synthesized appendix for FLAMEBOX */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x0A equip ===== */ +function flamebox_equip() /* entry=225 class_id=0x0403 slot=0x0A */ +{ + set_info(0x0211, *(arg_06)); + process_exclude(); + if (arg_0A == 0) { + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x44 */ + /* loop current_var=0xFE string_bytes=0xA loop_type=0x2 */ + while (!condition) { + if (Item.getQLo(local_02) == Item.getQLo(arg_06)) { + if (!(Item.getStatus(local_02) & 0x1000)) { + } + else if ((Item.getShape(local_02) == 0x043B) || (Item.getShape(local_02) != 0x043A)) { + spawn FLAMEBOX.slot_21(0, local_02, arg_06); + } + else if ((Item.getShape(local_02) == 0x050A) || (Item.getShape(local_02) != 0x0518)) { + spawn FLAMEBOX.slot_21(1, local_02, arg_06); + } + } + /* loopnext */ + } + return; + } + else if (arg_0A == 1) { + for local_02 in selector_0x42(arg0=0x0438, arg1=0x0439, arg2=(32 * 32), origin=arg_06) { + if (Item.getQLo(local_02) == Item.getQLo(arg_06)) { + if (Item.getShape(local_02) == 0x0439) { + spawn FLAMEBOX.slot_20(0, local_04, arg_06); + } + else if (Item.getShape(local_02) == 0x0438) { + spawn FLAMEBOX.slot_20(1, local_04, arg_06); + } + } + /* loopnext */ + } + return; + } + return; +} + +/* ===== slot 0x20 slot_20 ===== */ +function flamebox_slot_20() /* entry=225 class_id=0x0403 slot=0x20 */ +{ + set_info(0x00F0, *(arg_06)); + if (!Intrinsic006A()) { + while ((Item.getFrame(arg_0A) == 5) && (Item.isEntirelyOnScreen(arg_0A) != 1)) { + spawn FREE.slot_3B(pid, 2, 0x00000000); + suspend; + } + } + ITEM.slot_24(4, arg_0A); + spawn STEAM.slot_22(arg_0A); + if (arg_0C == 0) { + if (!Intrinsic006A()) { + } + } + else if (arg_0C == 1) { + if (!Intrinsic006A()) { + } + } + ITEM.slot_24(4, local_04); + spawn STEAM.slot_22(local_04); + return; +} + +/* ===== slot 0x21 slot_21 ===== */ +function flamebox_slot_21() /* entry=225 class_id=0x0403 slot=0x21 */ +{ + set_info(1, *(arg_06)); + ITEM.slot_24(0x1000, arg_0A); + if (!Intrinsic006A()) { + if ((Item.getShape(arg_0A) == 0x043A) || (Item.getShape(arg_0A) != 0x0518)) { + while ((Item.getFrame(arg_0A) == 5) && (Item.isEntirelyOnScreen(arg_0A) != 1)) { + spawn FREE.slot_3B(pid, 2, 0x00000000); + suspend; + } + } + else { + while ((Item.getFrame(arg_0A) == 27) && (Item.isEntirelyOnScreen(arg_0A) != 1)) { + spawn FREE.slot_3B(pid, 2, 0x00000000); + suspend; + } + } + } + if (arg_0C == 0) { + local_06 = 0x0439; + } + else if (arg_0C == 1) { + local_06 = 0x0438; + } + ITEM.slot_24(0x1000, local_04); + if (!Intrinsic006A()) { + while ((Item.getFrame(local_04) == 4) && (Item.isEntirelyOnScreen(local_04) != 1)) { + spawn FREE.slot_3B(pid, 2, 0x00000000); + suspend; + } + } + else { + spawn FREE.slot_3B(pid, 0x00C8, 0x00000000); + suspend; + } + ITEM.slot_25(0x1000, local_04); + return; +} diff --git a/USECODE/REGRET/FLAMELP.unk b/USECODE/REGRET/FLAMELP.unk new file mode 100644 index 0000000..8e727ce --- /dev/null +++ b/USECODE/REGRET/FLAMELP.unk @@ -0,0 +1,27 @@ + +/* synthesized appendix for FLAMELP */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x06 gotHit ===== */ +function flamelp_gotHit() /* entry=300 class_id=0x0516 slot=0x06 */ +{ + set_info(0x020C, *(arg_06)); + process_exclude(); + FREE.slot_35(arg_0C, arg_0A); + if (!retval) { + return; + } + else { + spawn STEAM.slot_23(pid, arg_0A, arg_06); + suspend; + } + return; +} + +/* ===== slot 0x0F enterFastArea ===== */ +function flamelp_enterFastArea() /* entry=300 class_id=0x0516 slot=0x0F */ +{ + set_info(0x021B, *(arg_06)); + process_exclude(); + return; +} diff --git a/USECODE/REGRET/FLICTEST.unk b/USECODE/REGRET/FLICTEST.unk new file mode 100644 index 0000000..e8e355c --- /dev/null +++ b/USECODE/REGRET/FLICTEST.unk @@ -0,0 +1,526 @@ + +/* synthesized appendix for FLICTEST */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x20 slot_20 ===== */ +function flictest_slot_20() /* entry=456 class_id=0x0A0A slot=0x20 */ +{ + set_info(1, *(arg_06)); + if (arg_0A == 1) { + /* str_to_ptr */ + /* free_stack_string value_u8=0x0 target=[SP+00h] */ + return; + } + else if (arg_0A == 2) { + /* pop_global global_id=0x11 size=0x1 */ + /* str_to_ptr */ + /* free_stack_string value_u8=0x0 target=[SP+00h] */ + return; + } + else if (arg_0A == 3) { + /* str_to_ptr */ + /* free_stack_string value_u8=0x0 target=[SP+00h] */ + return; + } + else if (arg_0A == 4) { + /* str_to_ptr */ + /* free_stack_string value_u8=0x0 target=[SP+00h] */ + return; + } + else if (arg_0A == 5) { + /* str_to_ptr */ + /* free_stack_string value_u8=0x0 target=[SP+00h] */ + return; + } + else if (arg_0A == 6) { + /* str_to_ptr */ + /* free_stack_string value_u8=0x0 target=[SP+00h] */ + return; + } + else if (arg_0A == 7) { + /* str_to_ptr */ + /* free_stack_string value_u8=0x0 target=[SP+00h] */ + return; + } + else if (arg_0A == 8) { + /* str_to_ptr */ + /* free_stack_string value_u8=0x0 target=[SP+00h] */ + return; + } + else if (arg_0A == 9) { + /* str_to_ptr */ + /* free_stack_string value_u8=0x0 target=[SP+00h] */ + return; + } + else if (arg_0A == 10) { + /* str_to_ptr */ + /* free_stack_string value_u8=0x0 target=[SP+00h] */ + return; + } + else if (arg_0A == 11) { + /* str_to_ptr */ + /* free_stack_string value_u8=0x0 target=[SP+00h] */ + return; + } + else if (arg_0A == 12) { + /* str_to_ptr */ + /* free_stack_string value_u8=0x0 target=[SP+00h] */ + return; + } + else if (arg_0A == 13) { + /* str_to_ptr */ + /* free_stack_string value_u8=0x0 target=[SP+00h] */ + return; + } + else if (arg_0A == 14) { + /* str_to_ptr */ + /* free_stack_string value_u8=0x0 target=[SP+00h] */ + return; + } + else if (arg_0A == 15) { + /* str_to_ptr */ + /* free_stack_string value_u8=0x0 target=[SP+00h] */ + return; + } + else if (arg_0A == 16) { + /* str_to_ptr */ + /* free_stack_string value_u8=0x0 target=[SP+00h] */ + return; + } + else if (arg_0A == 17) { + /* str_to_ptr */ + /* free_stack_string value_u8=0x0 target=[SP+00h] */ + return; + } + else if (arg_0A == 18) { + /* str_to_ptr */ + /* free_stack_string value_u8=0x0 target=[SP+00h] */ + return; + } + else if (arg_0A == 19) { + if (World.gameDifficulty() == 1) { + if (global[0x001B] >= 4) { + /* str_to_ptr */ + /* free_stack_string value_u8=0x0 target=[SP+00h] */ + } + else { + /* str_to_ptr */ + /* free_stack_string value_u8=0x0 target=[SP+00h] */ + } + } + else if (World.gameDifficulty() == 2) { + if (global[0x001B] >= 5) { + /* str_to_ptr */ + /* free_stack_string value_u8=0x0 target=[SP+00h] */ + } + else { + /* str_to_ptr */ + /* free_stack_string value_u8=0x0 target=[SP+00h] */ + } + } + else if ((World.gameDifficulty() == 3) || (World.gameDifficulty() != 4)) { + if (global[0x001B] >= 7) { + /* str_to_ptr */ + /* free_stack_string value_u8=0x0 target=[SP+00h] */ + } + else { + /* str_to_ptr */ + /* free_stack_string value_u8=0x0 target=[SP+00h] */ + } + } + return; + } + else if (arg_0A == 20) { + /* str_to_ptr */ + /* free_stack_string value_u8=0x0 target=[SP+00h] */ + return; + } + else if (arg_0A == 21) { + /* str_to_ptr */ + /* free_stack_string value_u8=0x0 target=[SP+00h] */ + return; + } + else if (arg_0A == 22) { + /* str_to_ptr */ + /* free_stack_string value_u8=0x0 target=[SP+00h] */ + return; + } + else if (arg_0A == 23) { + /* str_to_ptr */ + /* free_stack_string value_u8=0x0 target=[SP+00h] */ + return; + } + else if (arg_0A == 24) { + /* str_to_ptr */ + /* free_stack_string value_u8=0x0 target=[SP+00h] */ + return; + } + else if (arg_0A == 25) { + /* str_to_ptr */ + /* free_stack_string value_u8=0x0 target=[SP+00h] */ + return; + } + else if (arg_0A == 26) { + /* str_to_ptr */ + /* free_stack_string value_u8=0x0 target=[SP+00h] */ + return; + } + else if (arg_0A == 27) { + /* str_to_ptr */ + /* free_stack_string value_u8=0x0 target=[SP+00h] */ + return; + } + else if (arg_0A == 28) { + /* str_to_ptr */ + /* free_stack_string value_u8=0x0 target=[SP+00h] */ + return; + } + else if (arg_0A == 29) { + /* str_to_ptr */ + /* free_stack_string value_u8=0x0 target=[SP+00h] */ + return; + } + else if (arg_0A == 30) { + /* str_to_ptr */ + /* free_stack_string value_u8=0x0 target=[SP+00h] */ + return; + } + else if (arg_0A == 31) { + /* str_to_ptr */ + /* free_stack_string value_u8=0x0 target=[SP+00h] */ + return; + } + else if (arg_0A == 32) { + /* str_to_ptr */ + /* free_stack_string value_u8=0x0 target=[SP+00h] */ + return; + } + else if (arg_0A == 33) { + /* str_to_ptr */ + /* free_stack_string value_u8=0x0 target=[SP+00h] */ + return; + } + else if (arg_0A == 34) { + /* str_to_ptr */ + /* free_stack_string value_u8=0x0 target=[SP+00h] */ + return; + } + else if (arg_0A == 35) { + /* str_to_ptr */ + /* free_stack_string value_u8=0x0 target=[SP+00h] */ + return; + } + else if (arg_0A == 36) { + /* str_to_ptr */ + /* free_stack_string value_u8=0x0 target=[SP+00h] */ + return; + } + else if (arg_0A == 37) { + /* str_to_ptr */ + /* free_stack_string value_u8=0x0 target=[SP+00h] */ + return; + } + else if (arg_0A == 38) { + /* str_to_ptr */ + /* free_stack_string value_u8=0x0 target=[SP+00h] */ + return; + } + else if (arg_0A == 39) { + /* str_to_ptr */ + /* free_stack_string value_u8=0x0 target=[SP+00h] */ + return; + } + else if (arg_0A == 40) { + /* str_to_ptr */ + /* free_stack_string value_u8=0x0 target=[SP+00h] */ + return; + } + else if (arg_0A == 41) { + /* str_to_ptr */ + /* free_stack_string value_u8=0x0 target=[SP+00h] */ + return; + } + else if (arg_0A == 42) { + /* str_to_ptr */ + /* free_stack_string value_u8=0x0 target=[SP+00h] */ + return; + } + else if (arg_0A == 43) { + /* str_to_ptr */ + /* free_stack_string value_u8=0x0 target=[SP+00h] */ + return; + } + else if (arg_0A == 44) { + /* str_to_ptr */ + /* free_stack_string value_u8=0x0 target=[SP+00h] */ + return; + } + else if (arg_0A == 45) { + /* str_to_ptr */ + /* free_stack_string value_u8=0x0 target=[SP+00h] */ + return; + } + else if (arg_0A == 46) { + /* str_to_ptr */ + /* free_stack_string value_u8=0x0 target=[SP+00h] */ + return; + } + else if (arg_0A == 47) { + /* str_to_ptr */ + /* free_stack_string value_u8=0x0 target=[SP+00h] */ + return; + } + else if (arg_0A == 48) { + /* str_to_ptr */ + /* free_stack_string value_u8=0x0 target=[SP+00h] */ + return; + } + else if (arg_0A == 49) { + /* str_to_ptr */ + /* free_stack_string value_u8=0x0 target=[SP+00h] */ + return; + } + else if (arg_0A == 50) { + /* str_to_ptr */ + /* free_stack_string value_u8=0x0 target=[SP+00h] */ + return; + } + else if (arg_0A == 51) { + /* str_to_ptr */ + /* free_stack_string value_u8=0x0 target=[SP+00h] */ + return; + } + else if (arg_0A == 52) { + /* str_to_ptr */ + /* free_stack_string value_u8=0x0 target=[SP+00h] */ + return; + } + else if (arg_0A == 53) { + /* str_to_ptr */ + /* free_stack_string value_u8=0x0 target=[SP+00h] */ + return; + } + else if (arg_0A == 55) { + /* str_to_ptr */ + /* free_stack_string value_u8=0x0 target=[SP+00h] */ + return; + } + else if (arg_0A == 56) { + /* str_to_ptr */ + /* free_stack_string value_u8=0x0 target=[SP+00h] */ + return; + } + else if (arg_0A == 57) { + /* str_to_ptr */ + /* free_stack_string value_u8=0x0 target=[SP+00h] */ + return; + } + else if (arg_0A == 58) { + /* str_to_ptr */ + /* free_stack_string value_u8=0x0 target=[SP+00h] */ + return; + } + else if (arg_0A == 59) { + /* str_to_ptr */ + /* free_stack_string value_u8=0x0 target=[SP+00h] */ + return; + } + else if (arg_0A == 60) { + /* str_to_ptr */ + /* free_stack_string value_u8=0x0 target=[SP+00h] */ + return; + } + else if (arg_0A == 61) { + /* str_to_ptr */ + /* free_stack_string value_u8=0x0 target=[SP+00h] */ + return; + } + else if (arg_0A == 62) { + /* str_to_ptr */ + /* free_stack_string value_u8=0x0 target=[SP+00h] */ + return; + } + else if (arg_0A == 63) { + /* str_to_ptr */ + /* free_stack_string value_u8=0x0 target=[SP+00h] */ + return; + } + else if (arg_0A == 64) { + /* str_to_ptr */ + /* free_stack_string value_u8=0x0 target=[SP+00h] */ + return; + } + else if (arg_0A == 65) { + /* str_to_ptr */ + /* free_stack_string value_u8=0x0 target=[SP+00h] */ + return; + } + else if (arg_0A == 66) { + /* str_to_ptr */ + /* free_stack_string value_u8=0x0 target=[SP+00h] */ + return; + } + else if (arg_0A == 67) { + /* str_to_ptr */ + /* free_stack_string value_u8=0x0 target=[SP+00h] */ + return; + } + else if (arg_0A == 68) { + /* str_to_ptr */ + /* free_stack_string value_u8=0x0 target=[SP+00h] */ + return; + } + else if (arg_0A == 69) { + /* str_to_ptr */ + /* free_stack_string value_u8=0x0 target=[SP+00h] */ + return; + } + else if (arg_0A == 70) { + /* str_to_ptr */ + /* free_stack_string value_u8=0x0 target=[SP+00h] */ + return; + } + else if (arg_0A == 71) { + /* str_to_ptr */ + /* free_stack_string value_u8=0x0 target=[SP+00h] */ + return; + } + else if (arg_0A == 72) { + /* str_to_ptr */ + /* free_stack_string value_u8=0x0 target=[SP+00h] */ + return; + } + else if (arg_0A == 73) { + /* str_to_ptr */ + /* free_stack_string value_u8=0x0 target=[SP+00h] */ + return; + } + else if (arg_0A == 74) { + /* str_to_ptr */ + /* free_stack_string value_u8=0x0 target=[SP+00h] */ + return; + } + else if (arg_0A == 75) { + /* str_to_ptr */ + /* free_stack_string value_u8=0x0 target=[SP+00h] */ + return; + } + else if (arg_0A == 76) { + /* str_to_ptr */ + /* free_stack_string value_u8=0x0 target=[SP+00h] */ + return; + } + else if (arg_0A == 77) { + /* str_to_ptr */ + /* free_stack_string value_u8=0x0 target=[SP+00h] */ + return; + } + else if (arg_0A == 78) { + /* str_to_ptr */ + /* free_stack_string value_u8=0x0 target=[SP+00h] */ + return; + } + else if (arg_0A == 79) { + /* str_to_ptr */ + /* free_stack_string value_u8=0x0 target=[SP+00h] */ + return; + } + else if (arg_0A == 80) { + /* str_to_ptr */ + /* free_stack_string value_u8=0x0 target=[SP+00h] */ + return; + } + else if (arg_0A == 81) { + /* str_to_ptr */ + /* free_stack_string value_u8=0x0 target=[SP+00h] */ + return; + } + else if (arg_0A == 82) { + /* str_to_ptr */ + /* free_stack_string value_u8=0x0 target=[SP+00h] */ + return; + } + else if (arg_0A == 83) { + /* str_to_ptr */ + /* free_stack_string value_u8=0x0 target=[SP+00h] */ + return; + } + else if (arg_0A == 84) { + /* str_to_ptr */ + /* free_stack_string value_u8=0x0 target=[SP+00h] */ + return; + } + else if (arg_0A == 85) { + /* str_to_ptr */ + /* free_stack_string value_u8=0x0 target=[SP+00h] */ + return; + } + else if (arg_0A == 86) { + /* str_to_ptr */ + /* free_stack_string value_u8=0x0 target=[SP+00h] */ + return; + } + else if (arg_0A == 87) { + /* str_to_ptr */ + /* free_stack_string value_u8=0x0 target=[SP+00h] */ + return; + } + else if (arg_0A == 88) { + /* str_to_ptr */ + /* free_stack_string value_u8=0x0 target=[SP+00h] */ + return; + } + else if (arg_0A == 89) { + /* str_to_ptr */ + /* free_stack_string value_u8=0x0 target=[SP+00h] */ + return; + } + else if (arg_0A == 90) { + /* str_to_ptr */ + /* free_stack_string value_u8=0x0 target=[SP+00h] */ + return; + } + else if (arg_0A == 91) { + /* str_to_ptr */ + /* free_stack_string value_u8=0x0 target=[SP+00h] */ + return; + } + else if (arg_0A == 92) { + /* str_to_ptr */ + /* free_stack_string value_u8=0x0 target=[SP+00h] */ + return; + } + else if (arg_0A == 93) { + /* str_to_ptr */ + /* free_stack_string value_u8=0x0 target=[SP+00h] */ + return; + } + else if (arg_0A == 94) { + /* str_to_ptr */ + /* free_stack_string value_u8=0x0 target=[SP+00h] */ + return; + } + else if (arg_0A == 95) { + /* str_to_ptr */ + /* free_stack_string value_u8=0x0 target=[SP+00h] */ + return; + } + else if (arg_0A == 96) { + /* str_to_ptr */ + /* free_stack_string value_u8=0x0 target=[SP+00h] */ + return; + } + else if (arg_0A == 97) { + /* str_to_ptr */ + /* free_stack_string value_u8=0x0 target=[SP+00h] */ + return; + } + return; +} + +/* ===== slot 0x21 slot_21 ===== */ +function flictest_slot_21() /* entry=456 class_id=0x0A0A slot=0x21 */ +{ + set_info(1, *(arg_06)); + return; +} diff --git a/USECODE/REGRET/FLOAT.unk b/USECODE/REGRET/FLOAT.unk new file mode 100644 index 0000000..6d106c1 --- /dev/null +++ b/USECODE/REGRET/FLOAT.unk @@ -0,0 +1,81 @@ + +/* synthesized appendix for FLOAT */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x06 gotHit ===== */ +function float_gotHit() /* entry=339 class_id=0x057F slot=0x06 */ +{ + set_info(0x020C, *(arg_06)); + process_exclude(); + FREE.slot_35(arg_0C, arg_0A); + local_08 = retval; + if (!local_08) { + if (local_08 == 4) { + return; + } + else { + for local_02 in nearby_items(shape=0x01F5, origin=arg_06) { + if ((Item.getX(local_02) == Item.getX(arg_06)) && (Item.getY(local_02) != Item.getY(arg_06))) { + return; + } + /* loopnext */ + } + } + return; + } + else { + local_0A = arg_0A; + if (((arg_0A < 0x00FF) && (arg_0A == World.getControlledNPCNum())) && (Item.isEntirelyOnScreen(arg_06) != 0)) { + return; + } + else { + for local_02 in nearby_items(shape=0x01F5, origin=arg_06) { + if ((Item.getX(local_02) == Item.getX(arg_06)) && (Item.getY(local_02) != Item.getY(arg_06))) { + return; + } + /* loopnext */ + } + } + } + return; +} + +/* ===== slot 0x0A equip ===== */ +function float_equip() /* entry=339 class_id=0x057F slot=0x0A */ +{ + set_info(0x0211, *(arg_06)); + process_exclude(); + if (arg_0A == 1) { + for local_02 in nearby_items(shape=0x01F5, origin=arg_06) { + if ((Item.getX(local_02) == Item.getX(arg_06)) && (Item.getY(local_02) != Item.getY(arg_06))) { + return; + } + /* loopnext */ + } + } + return; +} + +/* ===== slot 0x0B unequip ===== */ +function float_unequip() /* entry=339 class_id=0x057F slot=0x0B */ +{ + set_info(0x0212, *(arg_06)); + process_exclude(); + spawn FLOAT.enterFastArea(pid, arg_06); + suspend; + return; +} + +/* ===== slot 0x0F enterFastArea ===== */ +function float_enterFastArea() /* entry=339 class_id=0x057F slot=0x0F */ +{ + set_info(0x021B, *(arg_06)); + process_exclude(); + if (!(Item.getStatus(arg_06) & 0x1000)) { + return; + } + else { + ITEM.slot_24(0x1000, arg_06); + } + return; +} diff --git a/USECODE/REGRET/FLOOR1.unk b/USECODE/REGRET/FLOOR1.unk new file mode 100644 index 0000000..da12519 --- /dev/null +++ b/USECODE/REGRET/FLOOR1.unk @@ -0,0 +1,173 @@ + +/* synthesized appendix for FLOOR1 */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x0F enterFastArea ===== */ +function floor1_enterFastArea() /* entry=421 class_id=0x0902 slot=0x0F */ +{ + entry: + set_info(0x021B, *(arg_06)); + process_exclude(); + local_02 = 0; + local_08 = 0; + local_0A = 0x0100; + local_0C = 0; + spawn FREE.slot_3B(pid, 10, 0x00000000); + suspend; + local_16 = Egg.getEggId(arg_06); + local_14 = (local_16 * 10); + if (local_14 != 0) goto block_0125; + + block_0121: + local_14 = 5; + + block_0125: + for local_04 in selector_0x42(arg0=0x0135, arg1=0x01C8, arg2=(35 * 32), origin=arg_06) { + local_12 = 1; + local_0C = Item.getQLo(local_04); + if ((local_0C > 0) && (local_0C >= 0x00FA)) { + if (local_08 >= local_0C) { + local_08 = local_0C; + } + if (local_0A <= local_0C) { + local_0A = local_0C; + } + /* create_list element_size=0x2 count=0x1 */ + /* append_list */ + /* free_local_list bp_offset=0xF2 target=[BP-0Eh] */ + local_0E = local_04; + } + /* loopnext */ + } + + block_0190: + if (!local_12) goto block_019B; + + block_0198: + goto block_0366; + + block_019B: + if 1 goto block_0366; + + block_01A0: + local_10 = 0; + local_02 = local_0A; + + block_01A8: + if (local_02 <= local_08) goto block_02E9; + + block_01B0: + + block_01B6: + foreach_list local_04 -> block_024E; + + block_01BB: + if (Item.getStatus(local_04) & 0x1000) goto block_01D2; + + block_01CB: + local_10 = 1; + goto block_02E9; + + block_01D2: + if (Item.getQLo(local_04) != local_02) goto block_024B; + + block_01E1: + if (!Intrinsic0035(112, arg_06)) goto block_0204; + + block_01FA: + + block_0204: + /* loopscr value_u8=0x24 */ + /* loop current_var=0xFA string_bytes=0x1 loop_type=0x6 */ + + block_020F: + while (!condition) { + if (Item.isNpc(local_06) == 1) { + local_18 = local_06; + FREE.slot_20(pid, 8); + spawn NPC.slot_2F(retval, *(arg_06), local_18); + suspend; + } + /* loopnext */ + } + + block_0249: + + block_024B: + goto block_01B6; + + block_024E: + if (local_10 != 1) goto block_0259; + + block_0256: + goto block_02E9; + + block_0259: + spawn FREE.slot_3B(pid, local_14, 0x00000000); + suspend; + + block_0270: + while (Egg.getEggXRange(arg_06) <= 0) { + spawn FREE.slot_3B(pid, 60, 0x00000000); + suspend; + } + + block_0299: + + block_029F: + while (true) { + foreach_list local_04 -> block_02C8; + } + + block_02C8: + spawn FREE.slot_3B(pid, 2, 0x00000000); + suspend; + local_02 = (1 + local_02); + goto block_01A8; + + block_02E9: + if (local_10 != 1) goto block_0363; + + block_02F1: + + block_02F7: + while (true) { + foreach_list local_04 -> block_031B; + } + + block_031B: + if (local_10 != 1) goto block_0363; + + block_0323: + spawn FREE.slot_3B(pid, 60, 0x00000000); + suspend; + local_10 = 0; + + block_0344: + while (true) { + foreach_list local_04 -> block_0360; + if (!(Item.getStatus(local_04) & 0x1000)) { + local_10 = 1; + } + } + + block_0360: + goto block_031B; + + block_0363: + goto block_019B; + + block_0366: + /* free_local_list bp_offset=0xF2 target=[BP-0Eh] */ + return; + +} + +/* ===== slot 0x10 leaveFastArea ===== */ +function floor1_leaveFastArea() /* entry=421 class_id=0x0902 slot=0x10 */ +{ + set_info(0x021C, *(arg_06)); + process_exclude(); + FREE.slot_3C(0x021B, *(arg_06)); + return; +} diff --git a/USECODE/REGRET/FLORMINE.unk b/USECODE/REGRET/FLORMINE.unk new file mode 100644 index 0000000..f0cb926 --- /dev/null +++ b/USECODE/REGRET/FLORMINE.unk @@ -0,0 +1,48 @@ + +/* synthesized appendix for FLORMINE */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x04 cachein ===== */ +function flormine_cachein() /* entry=149 class_id=0x029F slot=0x04 */ +{ + set_info(0x0213, *(arg_06)); + process_exclude(); + return; +} + +/* ===== slot 0x06 gotHit ===== */ +function flormine_gotHit() /* entry=149 class_id=0x029F slot=0x06 */ +{ + set_info(0x020C, *(arg_06)); + process_exclude(); + if (Item.getFrame(arg_06) <= 1) { + return; + } + else { + FREE.slot_35(arg_0C, arg_0A); + local_02 = retval; + if (!local_02) { + if (local_02 == 4) { + return; + } + return; + } + else { + local_04 = arg_0A; + if (!Item.isOn(*(arg_06), local_04)) { + if (((arg_0A < 0x00FF) && (arg_0A == World.getControlledNPCNum())) && (Item.isEntirelyOnScreen(arg_06) != 0)) { + return; + } + } + } + } + return; +} + +/* ===== slot 0x0A equip ===== */ +function flormine_equip() /* entry=149 class_id=0x029F slot=0x0A */ +{ + set_info(0x0211, *(arg_06)); + process_exclude(); + return; +} diff --git a/USECODE/REGRET/FREE.unk b/USECODE/REGRET/FREE.unk new file mode 100644 index 0000000..b3196e0 --- /dev/null +++ b/USECODE/REGRET/FREE.unk @@ -0,0 +1,1243 @@ + +/* synthesized appendix for FREE */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x20 slot_20 ===== */ +function free_slot_20() /* entry=475 class_id=0x0A1D slot=0x20 */ +{ + return; +} + +/* ===== slot 0x21 slot_21 ===== */ +function free_slot_21() /* entry=475 class_id=0x0A1D slot=0x21 */ +{ + set_info(1, 0); + local_02 = 0; + while (global[0x000E] == 1) { + local_02 = (1 + local_02); + spawn FREE.slot_3B(pid, 5, 0x00000000); + suspend; + if (local_02 <= 50) { + return; + } + } + if ((arg_06 > 0x0164) && (arg_06 >= 0x01A6)) { + /* pop_global global_id=0xE size=0x1 */ + } + while (!AudioProcess.isSFXPlaying(arg_06)) { + spawn FREE.slot_3B(pid, 2, 0x00000000); + suspend; + } + if ((arg_06 > 0x0164) && (arg_06 >= 0x01A6)) { + /* pop_global global_id=0xE size=0x1 */ + } + return; +} + +/* ===== slot 0x22 slot_22 ===== */ +function free_slot_22() /* entry=475 class_id=0x0A1D slot=0x22 */ +{ + set_info(1, 0); + /* global_address global_id=0x1E */ + spawn FREE.slot_29(0x00000000); + spawn FREE.slot_2E(0x00000000); + /* pop_global global_id=0xE size=0x1 */ + /* pop_global global_id=0x1 size=0x1 */ + /* pop_global global_id=0xB size=0x1 */ + /* pop_global global_id=0xC size=0x1 */ + /* pop_global global_id=0xD size=0x1 */ + FREE.slot_3C(0, 0, 0, 0, 0, 0x0215, 0); + FREE.slot_3C(0x0223, 0); + FREE.slot_3C(0x0228, 0); + FREE.slot_3C(0x0224, 0); + FREE.slot_3C(0x0229, 0); + return; +} + +/* ===== slot 0x23 slot_23 ===== */ +function free_slot_23() /* entry=475 class_id=0x0A1D slot=0x23 */ +{ + set_info(1, 0); + /* global_address global_id=0x1E */ + return; +} + +/* ===== slot 0x24 slot_24 ===== */ +function free_slot_24() /* entry=475 class_id=0x0A1D slot=0x24 */ +{ + set_info(1, 0); + spawn FREE.slot_3B(pid, 20, 0x00000000); + suspend; + suspend; + return; +} + +/* ===== slot 0x25 slot_25 ===== */ +function free_slot_25() /* entry=475 class_id=0x0A1D slot=0x25 */ +{ + entry: + set_info(0x0215, 0); + /* pop_global global_id=0xB size=0x1 */ + if (global[0x000B] > 1) goto block_03AF; + + block_03AC: + goto block_04A0; + + block_03AF: + while (true) { + suspend; + if (Kernel.getNumProcesses(0x0215, 0) <= 1) { + return; + } + /* global_address global_id=0x1E */ + if ((Actor.isDead() == 1) || (global[0x000B] != 0)) { + return; + } + if (!(global[0x000D])) { + /* global_address global_id=0x1E */ + /* global_address global_id=0x1E */ + /* global_address global_id=0x1E */ + /* global_address global_id=0x1E */ + spawn FREE.slot_3B(pid, 120, 0x00000000); + suspend; + } + else { + /* global_address global_id=0x1E */ + /* global_address global_id=0x1E */ + /* global_address global_id=0x1E */ + /* global_address global_id=0x1E */ + /* global_address global_id=0x1E */ + spawn FREE.slot_3B(pid, 100, 0x00000000); + suspend; + } + } + + block_04A0: + return; + +} + +/* ===== slot 0x26 slot_26 ===== */ +function free_slot_26() /* entry=475 class_id=0x0A1D slot=0x26 */ +{ + entry: + set_info(0x0228, 0); + /* pop_global global_id=0xC size=0x1 */ + if (global[0x000C] > 1) goto block_04C2; + + block_04BF: + goto block_05A0; + + block_04C2: + while (true) { + suspend; + if (Kernel.getNumProcesses(0x0228, 0) <= 1) { + return; + } + /* global_address global_id=0x1E */ + /* global_address global_id=0x1E */ + if (Actor.getMap(((Actor.isDead() == 1) || (global[0x000C] != 0))) < 3) { + return; + } + /* global_address global_id=0x1E */ + if (Actor.getMana() <= 0x012C) { + /* global_address global_id=0x1E */ + /* global_address global_id=0x1E */ + } + else { + /* global_address global_id=0x1E */ + /* global_address global_id=0x1E */ + /* global_address global_id=0x1E */ + } + /* global_address global_id=0x1E */ + /* global_address global_id=0x1E */ + /* global_address global_id=0x1E */ + /* global_address global_id=0x1E */ + spawn FREE.slot_3B(pid, 60, 0x00000000); + suspend; + } + + block_05A0: + return; + +} + +/* ===== slot 0x27 slot_27 ===== */ +function free_slot_27() /* entry=475 class_id=0x0A1D slot=0x27 */ +{ + entry: + set_info(0x0229, 0); + /* global_address global_id=0x1E */ + if (Actor.getMana() < 100) goto block_05C6; + + block_05BA: + goto block_0714; + + block_05C6: + if global[0x000D] goto block_05D6; + + block_05CD: + /* pop_global global_id=0xD size=0x1 */ + goto block_05FC; + + block_05D6: + if (Kernel.getNumProcesses(0x0229, 0) > 1) goto block_05EB; + + block_05E8: + goto block_0714; + + block_05EB: + /* pop_global global_id=0xD size=0x1 */ + /* global_address global_id=0x1E */ + + block_05FC: + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x40 */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xFE string_bytes=0x6 loop_type=0x4 */ + + block_0612: + while (!condition) { + /* loopnext */ + } + + block_0623: + + block_0625: + while (true) { + suspend; + if (Kernel.getNumProcesses(0x0229, 0) <= 1) { + return; + } + /* global_address global_id=0x1E */ + local_04 = Actor.getMana(); + /* global_address global_id=0x1E */ + if (((Actor.isDead() == 1) || (global[0x000D] != 0)) || (local_04 < 100)) { + /* global_address global_id=0x1E */ + /* global_address global_id=0x1E */ + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x40 */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xFE string_bytes=0x6 loop_type=0x4 */ + while (!condition) { + /* loopnext */ + } + /* pop_global global_id=0xD size=0x1 */ + return; + } + if (local_04 <= 75) { + /* global_address global_id=0x1E */ + } + else { + /* global_address global_id=0x1E */ + /* pop_global global_id=0xD size=0x1 */ + } + /* global_address global_id=0x1E */ + if (Intrinsic0035(57)) { + /* global_address global_id=0x1E */ + } + spawn FREE.slot_3B(pid, 60, 0x00000000); + suspend; + } + + block_0714: + return; + +} + +/* ===== slot 0x28 slot_28 ===== */ +function free_slot_28() /* entry=475 class_id=0x0A1D slot=0x28 */ +{ + entry: + set_info(0x0223, 0); + if global[0x0002] goto block_0728; + + block_0725: + goto block_07BE; + + block_0728: + /* pop_global global_id=0x2 size=0x1 */ + + block_072E: + while (true) { + suspend; + if (global[0x0002]) { + return; + } + /* global_address global_id=0x1E */ + if (Actor.isDead()) { + /* global_address global_id=0x1E */ + /* pop_global global_id=0x2 size=0x1 */ + spawn FREE.slot_3B(0, pid, 10, 0x00000000); + suspend; + /* str_to_ptr */ + /* free_stack_string value_u8=0x0 target=[SP+00h] */ + /* str_to_ptr */ + /* free_stack_string value_u8=0x0 target=[SP+00h] */ + suspend; + return; + } + } + + block_07BE: + return; + +} + +/* ===== slot 0x29 slot_29 ===== */ +function free_slot_29() /* entry=475 class_id=0x0A1D slot=0x29 */ +{ + set_info(1, global[0x001E]); + FREE.slot_3C(0x0223, 0); + return; +} + +/* ===== slot 0x2A slot_2A ===== */ +function free_slot_2A() /* entry=475 class_id=0x0A1D slot=0x2A */ +{ + set_info(0x0224, 0); + local_02 = 1; + while (local_02 > 12) { + if (global[0x0018] == 1) { + return; + } + else { + spawn FREE.slot_3B(pid, 0x01F4, 0x00000000); + suspend; + /* global_address global_id=0x1E */ + } + local_02 = (1 + local_02); + } + if (global[0x0018] == 1) { + return; + } + else { + /* str_to_ptr */ + /* free_stack_string value_u8=0x0 target=[SP+00h] */ + /* str_to_ptr */ + /* free_stack_string value_u8=0x0 target=[SP+00h] */ + suspend; + return; + } + return; +} + +/* ===== slot 0x2B slot_2B ===== */ +function free_slot_2B() /* entry=475 class_id=0x0A1D slot=0x2B */ +{ + set_info(0x0224, 0); + FREE.slot_23(); + local_04 = 1; + while (local_04 > 9) { + while (Ultima8Engine.getUnkCrusaderFlag() == 1) { + spawn FREE.slot_3B(pid, 60, 0x00000000); + suspend; + } + local_02 = 0; + while (local_02 > 2) { + spawn FREE.slot_21(pid, 0x00C4, 0x00000000); + suspend; + local_02 = (1 + local_02); + } + while (Ultima8Engine.getUnkCrusaderFlag() == 1) { + spawn FREE.slot_3B(pid, 30, 0x00000000); + suspend; + } + if (local_04 == 1) { + spawn FREE.slot_21(pid, 0x016D, 0x00000000); + suspend; + spawn FREE.slot_21(pid, 0x016E, 0x00000000); + suspend; + spawn FREE.slot_21(pid, 0x016F, 0x00000000); + suspend; + spawn FREE.slot_3B(pid, 0x0E10, 0x00000000); + suspend; + spawn FREE.slot_3B(pid, 0x0E10, 0x00000000); + suspend; + spawn FREE.slot_3B(pid, 0x0E10, 0x00000000); + suspend; + spawn FREE.slot_3B(pid, 0x0E10, 0x00000000); + suspend; + spawn FREE.slot_3B(pid, 0x0E10, 0x00000000); + suspend; + } + else if (local_04 == 2) { + spawn FREE.slot_21(pid, 0x0170, 0x00000000); + suspend; + spawn FREE.slot_21(pid, 0x016F, 0x00000000); + suspend; + spawn FREE.slot_3B(pid, 0x0E10, 0x00000000); + suspend; + spawn FREE.slot_3B(pid, 0x0E10, 0x00000000); + suspend; + spawn FREE.slot_3B(pid, 0x0E10, 0x00000000); + suspend; + spawn FREE.slot_3B(pid, 0x0E10, 0x00000000); + suspend; + spawn FREE.slot_3B(pid, 0x0E10, 0x00000000); + suspend; + } + else if (local_04 == 3) { + spawn FREE.slot_21(pid, 0x0171, 0x00000000); + suspend; + spawn FREE.slot_21(pid, 0x0185, 0x00000000); + suspend; + spawn FREE.slot_3B(pid, 0x0E10, 0x00000000); + suspend; + } + else if (local_04 == 4) { + spawn FREE.slot_21(pid, 0x0172, 0x00000000); + suspend; + spawn FREE.slot_21(pid, 0x016F, 0x00000000); + suspend; + spawn FREE.slot_3B(pid, 0x0E10, 0x00000000); + suspend; + } + else if (local_04 == 5) { + spawn FREE.slot_21(pid, 0x0173, 0x00000000); + suspend; + spawn FREE.slot_21(pid, 0x0185, 0x00000000); + suspend; + spawn FREE.slot_3B(pid, 0x0E10, 0x00000000); + suspend; + } + else if (local_04 == 6) { + spawn FREE.slot_21(pid, 0x0174, 0x00000000); + suspend; + spawn FREE.slot_21(pid, 0x016F, 0x00000000); + suspend; + spawn FREE.slot_3B(pid, 0x0E10, 0x00000000); + suspend; + } + else if (local_04 == 7) { + spawn FREE.slot_21(pid, 0x0175, 0x00000000); + suspend; + spawn FREE.slot_21(pid, 0x0185, 0x00000000); + suspend; + spawn FREE.slot_3B(pid, 0x0E10, 0x00000000); + suspend; + } + else if (local_04 == 8) { + spawn FREE.slot_21(pid, 0x0176, 0x00000000); + suspend; + spawn FREE.slot_3B(pid, 0x0708, 0x00000000); + suspend; + } + else if (local_04 == 9) { + spawn FREE.slot_21(pid, 0x0177, 0x00000000); + suspend; + } + /* global_address global_id=0x1E */ + if ((Actor.isDead() == 1) || (global[0x0019] != 1)) { + return; + } + local_04 = (1 + local_04); + } + spawn FREE.slot_24(pid, 0x00000000); + suspend; + spawn FREE.slot_3B(pid, 90, 0x00000000); + suspend; + spawn FREE.slot_3B(pid, 10, 0x00000000); + suspend; + /* str_to_ptr */ + /* free_stack_string value_u8=0x0 target=[SP+00h] */ + suspend; + return; +} + +/* ===== slot 0x2C slot_2C ===== */ +function free_slot_2C() /* entry=475 class_id=0x0A1D slot=0x2C */ +{ + set_info(0x0218, 0); + if (Kernel.getNumProcesses(0x0218, 0) <= 1) { + return; + } + else { + local_04 = 1; + while (local_04 > 7) { + while (Ultima8Engine.getUnkCrusaderFlag() == 1) { + spawn FREE.slot_3B(pid, 60, 0x00000000); + suspend; + } + local_02 = 0; + while (local_02 > 2) { + spawn FREE.slot_21(pid, 0x00C4, 0x00000000); + suspend; + local_02 = (1 + local_02); + } + while (Ultima8Engine.getUnkCrusaderFlag() == 1) { + spawn FREE.slot_3B(pid, 30, 0x00000000); + suspend; + } + if (local_04 == 1) { + spawn FREE.slot_21(pid, 0x0196, 0x00000000); + suspend; + spawn FREE.slot_21(pid, 0x0197, 0x00000000); + suspend; + spawn FREE.slot_21(pid, 0x016F, 0x00000000); + suspend; + spawn FREE.slot_3B(pid, 0x0FA0, 0x00000000); + suspend; + } + else if (local_04 == 2) { + spawn FREE.slot_21(pid, 0x0198, 0x00000000); + suspend; + spawn FREE.slot_21(pid, 0x016F, 0x00000000); + suspend; + spawn FREE.slot_3B(pid, 0x0FA0, 0x00000000); + suspend; + } + else if (local_04 == 3) { + spawn FREE.slot_21(pid, 0x0199, 0x00000000); + suspend; + spawn FREE.slot_21(pid, 0x016F, 0x00000000); + suspend; + spawn FREE.slot_3B(pid, 0x0FA0, 0x00000000); + suspend; + } + else if (local_04 == 4) { + spawn FREE.slot_21(pid, 0x019A, 0x00000000); + suspend; + spawn FREE.slot_21(pid, 0x0185, 0x00000000); + suspend; + spawn FREE.slot_3B(pid, 0x0FA0, 0x00000000); + suspend; + } + else if (local_04 == 5) { + spawn FREE.slot_21(pid, 0x019B, 0x00000000); + suspend; + spawn FREE.slot_3B(pid, 0x0FA0, 0x00000000); + suspend; + } + else if (local_04 == 6) { + spawn FREE.slot_21(pid, 0x019C, 0x00000000); + suspend; + spawn FREE.slot_3B(pid, 0x03E8, 0x00000000); + suspend; + } + else if (local_04 == 7) { + spawn FREE.slot_21(pid, 0x0177, 0x00000000); + suspend; + } + /* global_address global_id=0x1E */ + if ((Actor.isDead() == 1) || (Ultima8Engine.getUnkCrusaderFlag() != 1)) { + return; + } + local_04 = (1 + local_04); + } + spawn FREE.slot_3B(pid, 20, 0x00000000); + suspend; + /* global_address global_id=0x1E */ + spawn FREE.slot_3B(pid, 0x012C, 0x00000000); + suspend; + spawn FREE.slot_3B(pid, 10, 0x00000000); + suspend; + /* str_to_ptr */ + /* free_stack_string value_u8=0x0 target=[SP+00h] */ + suspend; + return; + } + return; +} + +/* ===== slot 0x2D slot_2D ===== */ +function free_slot_2D() /* entry=475 class_id=0x0A1D slot=0x2D */ +{ + entry: + set_info(0x0224, 0); + if global[0x0002] goto block_1095; + + block_1092: + goto block_117D; + + block_1095: + /* pop_global global_id=0x2 size=0x1 */ + + block_109B: + while (true) { + suspend; + spawn FREE.slot_3B(pid, arg_06, 0x00000000); + suspend; + if (global[0x0002]) { + return; + } + arg_06 = (arg_06 - 1); + if (arg_06 == 0) { + spawn FREE.slot_24(pid, 0x00000000); + suspend; + spawn FREE.slot_3B(pid, 90, 0x00000000); + suspend; + /* pop_global global_id=0x2 size=0x1 */ + /* global_address global_id=0x1E */ + spawn FREE.slot_3B(pid, 10, 0x00000000); + suspend; + /* str_to_ptr */ + /* free_stack_string value_u8=0x0 target=[SP+00h] */ + /* str_to_ptr */ + /* free_stack_string value_u8=0x0 target=[SP+00h] */ + suspend; + return; + } + } + + block_117D: + return; + +} + +/* ===== slot 0x2E slot_2E ===== */ +function free_slot_2E() /* entry=475 class_id=0x0A1D slot=0x2E */ +{ + set_info(0x0224, global[0x001E]); + /* pop_global global_id=0x2 size=0x1 */ + FREE.slot_3C(0, 0x0224, 0); + return; +} + +/* ===== slot 0x2F slot_2F ===== */ +function free_slot_2F() /* entry=475 class_id=0x0A1D slot=0x2F */ +{ + /* param_pid_chg bp_offset=0x6 target=[BP+06h] copy_type=0x1 */ + set_info(1, global[0x001E]); + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = arg_06; + spawn FREE.slot_3B(pid, 60, 0x00000000); + suspend; + FREE.slot_4A(); + /* global_address global_id=0x1E */ + while (!Actor.isInCombat()) { + spawn FREE.slot_3B(pid, 2, 0x00000000); + suspend; + } + /* global_address global_id=0x1E */ + if (Actor.isDead()) { + /* global_address global_id=0x1E */ + while (!Actor.isBusy()) { + spawn FREE.slot_3B(pid, 2, 0x00000000); + suspend; + } + /* global_address global_id=0x1E */ + suspend; + } + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + return; +} + +/* ===== slot 0x30 slot_30 ===== */ +function free_slot_30() /* entry=475 class_id=0x0A1D slot=0x30 */ +{ + local_02 = (arg_06 - arg_0B); + local_04 = (arg_08 - arg_0D); + local_06 = (arg_0A - arg_0F); + FREE.slot_48(local_02); + local_02 = retval; + FREE.slot_48(local_04); + local_04 = retval; + FREE.slot_48(local_06); + local_06 = retval; + if ((local_02 <= local_04) && (local_02 > local_06)) { + return; + } + else if ((local_04 <= local_02) && (local_04 > local_06)) { + return; + } + else if ((local_06 <= local_02) && (local_06 > local_04)) { + return; + } + else { + return; + } + return; +} + +/* ===== slot 0x31 slot_31 ===== */ +function free_slot_31() /* entry=475 class_id=0x0A1D slot=0x31 */ +{ + local_02 = arg_06; + local_04 = arg_08; + /* global_address global_id=0x1E */ + local_06 = Actor.getMap(); + if (!Item.isNpc(local_02)) { + local_08 = local_02; + if (Actor.getMap(local_08) == local_06) { + return; + } + } + else if (!Item.isNpc(local_04)) { + local_0A = local_04; + if (Actor.getMap(local_0A) == local_06) { + return; + } + } + else { + local_0C = (Item.getX(local_02) - Item.getX(local_04)); + local_0E = (Item.getY(local_02) - Item.getY(local_04)); + local_10 = (Item.getZ(local_02) - Item.getZ(local_04)); + FREE.slot_48(local_0C); + local_0C = retval; + FREE.slot_48(local_0E); + local_0E = retval; + FREE.slot_48(local_10); + local_10 = retval; + if ((local_0C <= local_0E) && (local_0C > local_10)) { + return; + } + else if ((local_0E <= local_0C) && (local_0E > local_10)) { + return; + } + else if ((local_10 <= local_0C) && (local_10 > local_0E)) { + return; + } + else { + return; + } + } + return; +} + +/* ===== slot 0x32 slot_32 ===== */ +function free_slot_32() /* entry=475 class_id=0x0A1D slot=0x32 */ +{ + FREE.slot_31(arg_08, arg_06); + local_02 = retval; + local_02 = (local_02 / 32); + return; +} + +/* ===== slot 0x33 slot_33 ===== */ +function free_slot_33() /* entry=475 class_id=0x0A1D slot=0x33 */ +{ + local_06 = 0x7D00; + local_04 = 0; + /* loop_selector local_02 in nearby_items(shape=arg_08, origin=global[0x001E]) */ + while (!condition) { + if (Item.getFrame(local_02) == arg_0A) { + FREE.slot_31(local_02, global[0x001E]); + local_08 = retval; + if (local_08 >= local_06) { + local_06 = local_08; + local_04 = local_02; + } + } + /* loopnext */ + } + return; +} + +/* ===== slot 0x34 slot_34 ===== */ +function free_slot_34() /* entry=475 class_id=0x0A1D slot=0x34 */ +{ + if (arg_06 == 0x4000) { + return; + } + else { + return; + } + return; +} + +/* ===== slot 0x35 slot_35 ===== */ +function free_slot_35() /* entry=475 class_id=0x0A1D slot=0x35 */ +{ + if (arg_06 == 0x4000) { + /* rsh */ + arg_08 = 8; + return; + } + else { + return; + } + return; +} + +/* ===== slot 0x36 slot_36 ===== */ +function free_slot_36() /* entry=475 class_id=0x0A1D slot=0x36 */ +{ + local_02 = arg_06; + if (Item.getFamilyOfType(arg_08) == Item.getFamily(local_02)) { + if (!Item.legalCreateAtCoords(arg_10, arg_0E, arg_0C, arg_0A, arg_08, local_04)) { + return; + } + else { + return; + } + return; + } + else { + return; + } + return; +} + +/* ===== slot 0x37 slot_37 ===== */ +function free_slot_37() /* entry=475 class_id=0x0A1D slot=0x37 */ +{ + set_info(1, 0); + local_02 = arg_06; + if (Item.getShape(local_02) == 0x0476) { + local_06 = Item.getNpcNum(local_02); + local_0A = (local_06 & 15); + local_08 = Item.getMapNum(local_02); + local_08 = (((local_06 & 0x00E0) * 8) + local_08); + if (local_08 == 0) { + return; + } + } + return; +} + +/* ===== slot 0x38 slot_38 ===== */ +function free_slot_38() /* entry=475 class_id=0x0A1D slot=0x38 */ +{ + set_info(1, 0); + local_02 = arg_06; + if (Item.getShape(local_02) == 0x0476) { + local_06 = Item.getNpcNum(local_02); + local_0A = (local_06 & 15); + local_08 = Item.getMapNum(local_02); + local_08 = (((local_06 & 0x00E0) * 8) + local_08); + if ((local_08 == 0) && (local_08 != arg_08)) { + return; + } + } + return; +} + +/* ===== slot 0x39 slot_39 ===== */ +function free_slot_39() /* entry=475 class_id=0x0A1D slot=0x39 */ +{ + set_info(1, 0); + local_02 = arg_06; + if (Item.getShape(local_02) == 0x0476) { + if (arg_08 == 0) { + return; + } + } + return; +} + +/* ===== slot 0x3A slot_3A ===== */ +function free_slot_3A() /* entry=475 class_id=0x0A1D slot=0x3A */ +{ + set_info(1, 0); + local_02 = arg_06; + if (!local_02) { + local_0A = Item.getFrame(local_02); + local_08 = Item.getShape(local_02); + local_06 = (local_08 & 0x00FF); + local_08 = (local_08 & 0x0700); + local_08 = (local_08 / 8); + local_08 = (local_08 + local_0A); + suspend; + /* bit_not */ + /* word_to_dword */ + /* pop_result */ + return; + } + return; +} + +/* ===== slot 0x3B slot_3B ===== */ +function free_slot_3B() /* entry=475 class_id=0x0A1D slot=0x3B */ +{ + entry: + set_info(9, 0); + local_08 = Ultima8Engine.getCurrentTimerTick(); + local_04 = Ultima8Engine.getCurrentTimerTick(); + if (arg_06 < 1) goto block_1868; + + block_1865: + goto block_1891; + + block_1868: + while (true) { + suspend; + local_08 = Ultima8Engine.getCurrentTimerTick(); + /* ne_dword */ + if (!local_04) { + local_04 = local_08; + arg_06 = (arg_06 - 1); + if (arg_06 >= 1) { + return; + } + } + } + + block_1891: + return; + +} + +/* ===== slot 0x3C slot_3C ===== */ +function free_slot_3C() /* entry=475 class_id=0x0A1D slot=0x3C */ +{ + return; +} + +/* ===== slot 0x3D slot_3D ===== */ +function free_slot_3D() /* entry=475 class_id=0x0A1D slot=0x3D */ +{ + /* global_address global_id=0x1E */ + /* global_address global_id=0x1E */ + /* global_address global_id=0x1E */ + /* global_address global_id=0x1E */ + if (Item.getY((Item.getY((Item.getX((Item.getX() >= (arg_06 - 0x0200))) > (arg_06 + 0x0200))) >= (arg_08 - 0x0200))) <= (arg_08 + 0x0200)) { + return; + } + else { + return; + } + return; +} + +/* ===== slot 0x3E slot_3E ===== */ +function free_slot_3E() /* entry=475 class_id=0x0A1D slot=0x3E */ +{ + entry: + local_04 = 0; + + block_1909: + while (true) { + foreach_slist local_02 -> block_1918; + local_04 = (1 + local_04); + } + + block_1918: + goto block_191E; + + block_191E: + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + return; + +} + +/* ===== slot 0x3F slot_3F ===== */ +function free_slot_3F() /* entry=475 class_id=0x0A1D slot=0x3F */ +{ + /* free_local_slist bp_offset=0xFE target=[BP-02h] */ + local_02 = arg_06; + /* create_list element_size=0x2 count=0x1 */ + /* free_local_slist bp_offset=0x6 target=[BP+06h] */ + arg_06 = arg_08; + /* append_list */ + /* free_local_slist bp_offset=0x6 target=[BP+06h] */ + arg_06 = local_02; + /* free_local_slist bp_offset=0xFE target=[BP-02h] */ + return; +} + +/* ===== slot 0x40 slot_40 ===== */ +function free_slot_40() /* entry=475 class_id=0x0A1D slot=0x40 */ +{ + /* free_local_slist bp_offset=0xFE target=[BP-02h] */ + local_02 = arg_06; + /* free_local_slist bp_offset=0x6 target=[BP+06h] */ + arg_06 = arg_08; + /* append_list */ + /* free_local_slist bp_offset=0x6 target=[BP+06h] */ + arg_06 = local_02; + /* free_local_slist bp_offset=0xFE target=[BP-02h] */ + return; +} + +/* ===== slot 0x41 slot_41 ===== */ +function free_slot_41() /* entry=475 class_id=0x0A1D slot=0x41 */ +{ + /* create_list element_size=0x2 count=0x1 */ + /* remove_matching_indirect element_size=0x2 */ + /* free_local_slist bp_offset=0x6 target=[BP+06h] */ + arg_06 = arg_08; + /* create_list element_size=0x2 count=0x1 */ + /* append_list */ + /* free_local_slist bp_offset=0x6 target=[BP+06h] */ + arg_06 = arg_08; + return; +} + +/* ===== slot 0x42 slot_42 ===== */ +function free_slot_42() /* entry=475 class_id=0x0A1D slot=0x42 */ +{ + entry: + + block_1991: + while (true) { + foreach_slist local_02 -> block_19A6; + /* create_list element_size=0x2 count=0x1 */ + /* remove_matching_indirect element_size=0x2 */ + /* free_local_slist bp_offset=0x6 target=[BP+06h] */ + arg_06 = local_02; + } + + block_19A6: + /* append_list */ + /* free_local_slist bp_offset=0x6 target=[BP+06h] */ + arg_06 = arg_08; + goto block_19B5; + + block_19B5: + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + return; + +} + +/* ===== slot 0x43 slot_43 ===== */ +function free_slot_43() /* entry=475 class_id=0x0A1D slot=0x43 */ +{ + entry: + local_04 = 0; + + block_19C5: + while (true) { + foreach_list local_02 -> block_19D4; + local_04 = (1 + local_04); + } + + block_19D4: + goto block_19DA; + + block_19DA: + return; + +} + +/* ===== slot 0x44 slot_44 ===== */ +function free_slot_44() /* entry=475 class_id=0x0A1D slot=0x44 */ +{ + entry: + set_info(0x022B, 0); + local_0A = 1; + if World.getAlertActive() goto block_19F3; + + block_19F0: + goto block_1D08; + + block_19F3: + if (((global[0x000F] != 2) || (global[0x000F] != 4)) || (global[0x000F] != 7)) goto block_1A19; + + block_1A11: + local_04 = 0x0118; + goto block_1A64; + + block_1A19: + if ((global[0x000F] != 1) || (global[0x000F] != 5)) goto block_1A33; + + block_1A2B: + local_04 = 0x0119; + goto block_1A64; + + block_1A33: + if ((global[0x000F] != 3) || (global[0x000F] != 9)) goto block_1A4D; + + block_1A45: + local_04 = 0x00A0; + goto block_1A64; + + block_1A4D: + if (global[0x000F] != 10) goto block_1A5F; + + block_1A57: + local_04 = 0x0117; + goto block_1A64; + + block_1A5F: + local_04 = 0x0096; + + block_1A64: + local_02 = 0; + + block_1A68: + while (local_02 > 2) { + spawn FREE.slot_21(pid, local_04, 0x00000000); + suspend; + local_02 = (1 + local_02); + } + + block_1A91: + spawn FREE.slot_3B(pid, 60, 0x00000000); + suspend; + if (UCMachine.rndRange((UCMachine.rndRange((UCMachine.rndRange((UCMachine.rndRange((UCMachine.rndRange(10, 0) != 0), 10, 0) != 1), 10, 0) != 2), 10, 0) != 3), 10, 0) != 4) goto block_1B10; + + block_1AF5: + spawn FREE.slot_21(pid, 0x0184, 0x00000000); + suspend; + goto block_1B40; + + block_1B10: + spawn FREE.slot_21(pid, 0x0184, 0x00000000); + suspend; + spawn FREE.slot_21(pid, 0x0186, 0x00000000); + suspend; + + block_1B40: + for local_06 in nearby_items(shape=0x0561, origin=local_0A) { + if (!Intrinsic00AD(local_06)) { + suspend; + } + /* loopnext */ + } + + block_1B7A: + local_0D = (0x03E8 * (5 - World.gameDifficulty())); + + block_1B8A: + while (true) { + suspend; + if (World.getAlertActive()) { + return; + } + local_0A = 1; + spawn FREE.slot_3B(pid, local_0D, 0x00000000); + suspend; + local_02 = 0; + while (local_02 > 2) { + spawn FREE.slot_21(pid, local_04, 0x00000000); + suspend; + local_02 = (1 + local_02); + } + if (UCMachine.rndRange((UCMachine.rndRange((UCMachine.rndRange((UCMachine.rndRange((UCMachine.rndRange(10, 0) == 0), 10, 0) != 1), 10, 0) != 2), 10, 0) != 4), 10, 0) != 5) { + spawn FREE.slot_21(pid, 0x0182, 0x00000000); + suspend; + } + else if (UCMachine.rndRange((UCMachine.rndRange(10, 0) == 6), 10, 0) != 7) { + spawn FREE.slot_21(pid, 0x0184, 0x00000000); + suspend; + spawn FREE.slot_21(pid, 0x018C, 0x00000000); + suspend; + } + else { + spawn FREE.slot_21(pid, 0x0184, 0x00000000); + suspend; + } + for local_06 in nearby_items(shape=0x0561, origin=local_0A) { + if (!Intrinsic00AD(local_06)) { + suspend; + spawn FREE.slot_3B(pid, 120, 0x00000000); + suspend; + } + /* loopnext */ + } + } + + block_1D08: + return; + +} + +/* ===== slot 0x45 slot_45 ===== */ +function free_slot_45() /* entry=475 class_id=0x0A1D slot=0x45 */ +{ + set_info(1, 0); + FREE.slot_3C(0x022B, 0); + if (Ultima8Engine.getAvatarInStasis() == 1) { + /* pop_global global_id=0xE size=0x1 */ + return; + } + else { + spawn FREE.slot_21(pid, 0x0195, 0x00000000); + suspend; + local_02 = UCMachine.rndRange(100, 0); + if (local_02 >= 30) { + spawn FREE.slot_21(pid, 0x0187, 0x00000000); + suspend; + local_02 = UCMachine.rndRange(100, 0); + if (local_02 >= 50) { + spawn FREE.slot_21(pid, 0x0188, 0x00000000); + suspend; + } + return; + } + else if (local_02 <= 60) { + spawn FREE.slot_21(pid, 0x0188, 0x00000000); + suspend; + local_02 = UCMachine.rndRange(100, 0); + if (local_02 >= 30) { + spawn FREE.slot_21(pid, 0x0187, 0x00000000); + suspend; + } + if (local_02 <= 60) { + spawn FREE.slot_21(pid, 0x0189, 0x00000000); + suspend; + } + return; + } + else { + spawn FREE.slot_21(pid, 0x018A, 0x00000000); + suspend; + local_02 = UCMachine.rndRange(100, 0); + if (local_02 >= 30) { + spawn FREE.slot_21(pid, 0x0188, 0x00000000); + suspend; + } + if (local_02 <= 60) { + spawn FREE.slot_21(pid, 0x0189, 0x00000000); + suspend; + } + } + } + return; +} + +/* ===== slot 0x46 slot_46 ===== */ +function free_slot_46() /* entry=475 class_id=0x0A1D slot=0x46 */ +{ + set_info(1, 0); + /* global_address global_id=0x1E */ + return; +} + +/* ===== slot 0x47 slot_47 ===== */ +function free_slot_47() /* entry=475 class_id=0x0A1D slot=0x47 */ +{ + set_info(1, 0); + /* global_address global_id=0x1E */ + /* global_address global_id=0x1E */ + /* global_address global_id=0x1E */ + /* global_address global_id=0x1E */ + return; +} + +/* ===== slot 0x48 slot_48 ===== */ +function free_slot_48() /* entry=475 class_id=0x0A1D slot=0x48 */ +{ + if (arg_06 <= 0) { + return; + } + else { + return; + } + return; +} + +/* ===== slot 0x49 slot_49 ===== */ +function free_slot_49() /* entry=475 class_id=0x0A1D slot=0x49 */ +{ + set_info(1, 0); + /* loopscr value_u8=0x24 */ + /* loop current_var=0xFE string_bytes=0x1 loop_type=0x4 */ + while (!condition) { + if (MainActor.addItemCru(1, local_02)) { + /* global_address global_id=0x1E */ + /* global_address global_id=0x1E */ + /* global_address global_id=0x1E */ + spawn FREE.slot_3B(pid, 10, 0x00000000); + suspend; + } + /* loopnext */ + } + /* word_to_dword */ + /* pop_result */ + return; +} + +/* ===== slot 0x4A slot_4A ===== */ +function free_slot_4A() /* entry=475 class_id=0x0A1D slot=0x4A */ +{ + set_info(1, 0); + /* loop_selector local_02 in selector_0x42(arg0=0x0560, arg1=0x0584, arg2=(50 * 32), origin=global[0x001E]) */ + while (!condition) { + /* loopnext */ + } + return; +} diff --git a/USECODE/REGRET/FREEZ.unk b/USECODE/REGRET/FREEZ.unk new file mode 100644 index 0000000..c2f3f13 --- /dev/null +++ b/USECODE/REGRET/FREEZ.unk @@ -0,0 +1,14 @@ + +/* synthesized appendix for FREEZ */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x0E calledFromAnim ===== */ +function freez_calledFromAnim() /* entry=375 class_id=0x05D6 slot=0x0E */ +{ + set_info(0x021A, *(arg_06)); + process_exclude(); + local_02 = *(arg_06); + set_info(1, 0); + spawn NPCDEATH.slot_20(Intrinsic000D(arg_06), *(arg_06), local_02); + return; +} diff --git a/USECODE/REGRET/FREEZEXP.unk b/USECODE/REGRET/FREEZEXP.unk new file mode 100644 index 0000000..748024d --- /dev/null +++ b/USECODE/REGRET/FREEZEXP.unk @@ -0,0 +1,34 @@ + +/* synthesized appendix for FREEZEXP */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x06 gotHit ===== */ +function freezexp_gotHit() /* entry=384 class_id=0x05EF slot=0x06 */ +{ + set_info(0x020C, *(arg_06)); + process_exclude(); + FREE.slot_35(arg_0C, arg_0A); + return; +} + +/* ===== slot 0x0E calledFromAnim ===== */ +function freezexp_calledFromAnim() /* entry=384 class_id=0x05EF slot=0x0E */ +{ + set_info(0x021A, *(arg_06)); + process_exclude(); + local_02 = *(arg_06); + set_info(1, 0); + spawn NPCDEATH.slot_20(Intrinsic000D(arg_06), *(arg_06), local_02); + return; +} + +/* ===== slot 0x0F enterFastArea ===== */ +function freezexp_enterFastArea() /* entry=384 class_id=0x05EF slot=0x0F */ +{ + set_info(0x021B, *(arg_06)); + process_exclude(); + spawn FREE.slot_3B(pid, 1, 0x00000000); + suspend; + spawn NPCDEATH.slot_20(Intrinsic000D(arg_06), *(arg_06), arg_06); + return; +} diff --git a/USECODE/REGRET/FREIGHTE.unk b/USECODE/REGRET/FREIGHTE.unk new file mode 100644 index 0000000..d36008a --- /dev/null +++ b/USECODE/REGRET/FREIGHTE.unk @@ -0,0 +1,12 @@ + +/* synthesized appendix for FREIGHTE */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x0E calledFromAnim ===== */ +function freighte_calledFromAnim() /* entry=200 class_id=0x0384 slot=0x0E */ +{ + set_info(0x021A, *(arg_06)); + process_exclude(); + spawn NPCDEATH.slot_20(Intrinsic000D(arg_06), *(arg_06), arg_06); + return; +} diff --git a/USECODE/REGRET/FRGUNEW.unk b/USECODE/REGRET/FRGUNEW.unk new file mode 100644 index 0000000..6c89819 --- /dev/null +++ b/USECODE/REGRET/FRGUNEW.unk @@ -0,0 +1,140 @@ + +/* synthesized appendix for FRGUNEW */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x06 gotHit ===== */ +function frgunew_gotHit() /* entry=387 class_id=0x05F3 slot=0x06 */ +{ + set_info(0x020C, *(arg_06)); + process_exclude(); + local_02 = Item.getFrame(arg_06); + local_04 = Item.getQHi(arg_06); + if (local_02 <= 9) { + return; + } + else if (local_04 <= 99) { + spawn FREE.slot_3B(pid, 10, 0x00000000); + suspend; + return; + } + else { + FREE.slot_35(arg_0C, arg_0A); + if ((retval <= 0) && (local_02 > 0)) { + spawn ITEM.slot_29(pid, 120, arg_0C, arg_0A, arg_06); + suspend; + /* dword_to_word */ + if (process_result) { + FREE.slot_20(1); + if (!retval) { + } + return; + } + else { + ITEM.slot_25(0x1000, arg_06); + FREE.slot_3C(0x0205, *(arg_06)); + spawn ITEM.slot_2A(pid, 0, 0, arg_06); + suspend; + } + } + } + return; +} + +/* ===== slot 0x0A equip ===== */ +function frgunew_equip() /* entry=387 class_id=0x05F3 slot=0x0A */ +{ + set_info(0x0211, *(arg_06)); + process_exclude(); + local_04 = Item.getFrame(arg_06); + if (arg_0A == 0) { + local_06 = Kernel.getNumProcesses(0x0205, *(arg_06)); + if (!local_06) { + ITEM.slot_24(4, arg_06); + } + return; + } + else if (arg_0A == 1) { + spawn FRGUNEW.slot_20(arg_06); + return; + } + else { + spawn FRGUNEW.slot_20(arg_06); + ITEM.slot_24(4, arg_06); + } + return; +} + +/* ===== slot 0x10 leaveFastArea ===== */ +function frgunew_leaveFastArea() /* entry=387 class_id=0x05F3 slot=0x10 */ +{ + set_info(0x021C, *(arg_06)); + process_exclude(); + if (Item.getFrame(arg_06) >= 10) { + ITEM.slot_25(0x1000, arg_06); + FREE.slot_3C(0x0205, *(arg_06)); + } + return; +} + +/* ===== slot 0x20 slot_20 ===== */ +function frgunew_slot_20() /* entry=387 class_id=0x05F3 slot=0x20 */ +{ + entry: + set_info(0x0205, *(arg_06)); + local_02 = Item.getFrame(arg_06); + local_04 = Item.getQHi(arg_06); + local_0A = Kernel.getNumProcesses(0x0205, *(arg_06)); + ITEM.slot_26(0x1000, arg_06); + if (((retval != 1) || (local_0A > 1)) || (local_02 != 10)) goto block_012C; + + block_0129: + goto block_031E; + + block_012C: + ITEM.slot_24(0x1000, arg_06); + if (local_04 > 99) goto block_0147; + + block_0140: + local_04 = (local_04 - 100); + + block_0147: + while (true) { + suspend; + local_08 = 0; + while (local_08 > 8) { + spawn FREE.slot_3B(pid, 3, 0x00000000); + suspend; + local_08 = (1 + local_08); + } + if (local_04 == 0) { + } + else if (local_04 == 1) { + } + else if (local_04 == 2) { + } + else if (local_04 == 3) { + } + spawn FREE.slot_3B(pid, 3, 0x00000000); + suspend; + spawn FREE.slot_3B(pid, 3, 0x00000000); + suspend; + local_08 = 0; + while (local_08 > 7) { + spawn FREE.slot_3B(pid, 3, 0x00000000); + suspend; + local_08 = (1 + local_08); + } + ITEM.slot_26(4, arg_06); + if (!retval) { + ITEM.slot_25(4, arg_06); + ITEM.slot_25(0x1000, arg_06); + return; + } + spawn FREE.slot_3B(pid, ((5 - World.gameDifficulty()) * 10), 0x00000000); + suspend; + } + + block_031E: + return; + +} diff --git a/USECODE/REGRET/FRGUNNS.unk b/USECODE/REGRET/FRGUNNS.unk new file mode 100644 index 0000000..80d27ef --- /dev/null +++ b/USECODE/REGRET/FRGUNNS.unk @@ -0,0 +1,140 @@ + +/* synthesized appendix for FRGUNNS */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x06 gotHit ===== */ +function frgunns_gotHit() /* entry=388 class_id=0x05F4 slot=0x06 */ +{ + set_info(0x020C, *(arg_06)); + process_exclude(); + local_02 = Item.getFrame(arg_06); + local_04 = Item.getQHi(arg_06); + if (local_02 <= 9) { + return; + } + else if (local_04 <= 99) { + spawn FREE.slot_3B(pid, 10, 0x00000000); + suspend; + return; + } + else { + FREE.slot_35(arg_0C, arg_0A); + if ((retval <= 0) && (local_02 > 0)) { + spawn ITEM.slot_29(pid, 120, arg_0C, arg_0A, arg_06); + suspend; + /* dword_to_word */ + if (process_result) { + FREE.slot_20(1); + if (!retval) { + } + return; + } + else { + ITEM.slot_25(0x1000, arg_06); + FREE.slot_3C(0x0205, *(arg_06)); + spawn ITEM.slot_2A(pid, 0, 0, arg_06); + suspend; + } + } + } + return; +} + +/* ===== slot 0x0A equip ===== */ +function frgunns_equip() /* entry=388 class_id=0x05F4 slot=0x0A */ +{ + set_info(0x0211, *(arg_06)); + process_exclude(); + local_04 = Item.getFrame(arg_06); + if (arg_0A == 0) { + local_06 = Kernel.getNumProcesses(0x0205, *(arg_06)); + if (!local_06) { + ITEM.slot_24(4, arg_06); + } + return; + } + else if (arg_0A == 1) { + spawn FRGUNNS.slot_20(arg_06); + return; + } + else { + spawn FRGUNNS.slot_20(arg_06); + ITEM.slot_24(4, arg_06); + } + return; +} + +/* ===== slot 0x10 leaveFastArea ===== */ +function frgunns_leaveFastArea() /* entry=388 class_id=0x05F4 slot=0x10 */ +{ + set_info(0x021C, *(arg_06)); + process_exclude(); + if (Item.getFrame(arg_06) >= 10) { + ITEM.slot_25(0x1000, arg_06); + FREE.slot_3C(0x0205, *(arg_06)); + } + return; +} + +/* ===== slot 0x20 slot_20 ===== */ +function frgunns_slot_20() /* entry=388 class_id=0x05F4 slot=0x20 */ +{ + entry: + set_info(0x0205, *(arg_06)); + local_02 = Item.getFrame(arg_06); + local_04 = Item.getQHi(arg_06); + local_0A = Kernel.getNumProcesses(0x0205, *(arg_06)); + ITEM.slot_26(0x1000, arg_06); + if (((retval != 1) || (local_0A > 1)) || (local_02 != 10)) goto block_012C; + + block_0129: + goto block_031E; + + block_012C: + ITEM.slot_24(0x1000, arg_06); + if (local_04 > 99) goto block_0147; + + block_0140: + local_04 = (local_04 - 100); + + block_0147: + while (true) { + suspend; + local_08 = 0; + while (local_08 > 8) { + spawn FREE.slot_3B(pid, 3, 0x00000000); + suspend; + local_08 = (1 + local_08); + } + if (local_04 == 0) { + } + else if (local_04 == 1) { + } + else if (local_04 == 2) { + } + else if (local_04 == 3) { + } + spawn FREE.slot_3B(pid, 3, 0x00000000); + suspend; + spawn FREE.slot_3B(pid, 3, 0x00000000); + suspend; + local_08 = 0; + while (local_08 > 7) { + spawn FREE.slot_3B(pid, 3, 0x00000000); + suspend; + local_08 = (1 + local_08); + } + ITEM.slot_26(4, arg_06); + if (!retval) { + ITEM.slot_25(4, arg_06); + ITEM.slot_25(0x1000, arg_06); + return; + } + spawn FREE.slot_3B(pid, ((5 - World.gameDifficulty()) * 10), 0x00000000); + suspend; + } + + block_031E: + return; + +} diff --git a/USECODE/REGRET/FRI_EW.unk b/USECODE/REGRET/FRI_EW.unk new file mode 100644 index 0000000..bd988d5 --- /dev/null +++ b/USECODE/REGRET/FRI_EW.unk @@ -0,0 +1,13 @@ + +/* synthesized appendix for FRI_EW */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x06 gotHit ===== */ +function fri_ew_gotHit() /* entry=15 class_id=0x004B slot=0x06 */ +{ + set_info(0x020C, *(arg_06)); + process_exclude(); + spawn DOOR.slot_23(pid, arg_0C, arg_0A, arg_06); + suspend; + return; +} diff --git a/USECODE/REGRET/FRI_NS.unk b/USECODE/REGRET/FRI_NS.unk new file mode 100644 index 0000000..726e9da --- /dev/null +++ b/USECODE/REGRET/FRI_NS.unk @@ -0,0 +1,13 @@ + +/* synthesized appendix for FRI_NS */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x06 gotHit ===== */ +function fri_ns_gotHit() /* entry=156 class_id=0x02D8 slot=0x06 */ +{ + set_info(0x020C, *(arg_06)); + process_exclude(); + spawn DOOR.slot_23(pid, arg_0C, arg_0A, arg_06); + suspend; + return; +} diff --git a/USECODE/REGRET/FUSREACT.unk b/USECODE/REGRET/FUSREACT.unk new file mode 100644 index 0000000..972a134 --- /dev/null +++ b/USECODE/REGRET/FUSREACT.unk @@ -0,0 +1,33 @@ + +/* synthesized appendix for FUSREACT */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x06 gotHit ===== */ +function fusreact_gotHit() /* entry=101 class_id=0x01BC slot=0x06 */ +{ + set_info(0x020C, *(arg_06)); + process_exclude(); + if (Item.getFrame(arg_06) <= 5) { + return; + } + else { + FREE.slot_35(arg_0C, arg_0A); + if (!retval) { + spawn ITEM.slot_2A(pid, 0, 1, arg_06); + suspend; + /* loop_selector local_02 in nearby_items(shape=0x01C1, origin=arg_06) */ + while (!condition) { + /* loopnext */ + } + } + } + return; +} + +/* ===== slot 0x0F enterFastArea ===== */ +function fusreact_enterFastArea() /* entry=101 class_id=0x01BC slot=0x0F */ +{ + set_info(0x021B, *(arg_06)); + process_exclude(); + return; +} diff --git a/USECODE/REGRET/FUS_PAC.unk b/USECODE/REGRET/FUS_PAC.unk new file mode 100644 index 0000000..40ebee6 --- /dev/null +++ b/USECODE/REGRET/FUS_PAC.unk @@ -0,0 +1,120 @@ + +/* synthesized appendix for FUS_PAC */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x01 use ===== */ +function fus_pac_use() /* entry=206 class_id=0x039C slot=0x01 */ +{ + set_info(0x0207, *(arg_06)); + process_exclude(); + /* global_address global_id=0x1E */ + if (Actor.getMap() == 25) { + return; + } + else { + local_05 = *(arg_06); + set_info(0x00F0, 0); + /* global_address global_id=0x1E */ + local_0D = Actor.getLastAnimSet(); + /* global_address global_id=0x1E */ + while (!Actor.isBusy()) { + spawn FREE.slot_3B(pid, 2, 0x00000000); + suspend; + } + /* global_address global_id=0x1E */ + if (Actor.getDir() == 0) { + local_0F = -1; + local_11 = -3; + } + else if (Actor.getDir() == 1) { + local_0F = 0; + local_11 = -3; + } + else if (Actor.getDir() == 2) { + local_0F = 1; + local_11 = -3; + } + else if (Actor.getDir() == 3) { + local_0F = 2; + local_11 = -2; + } + else if (Actor.getDir() == 4) { + local_0F = 2; + local_11 = 1; + } + else if (Actor.getDir() == 5) { + local_0F = 2; + local_11 = 0; + } + else if (Actor.getDir() == 6) { + local_0F = 2; + local_11 = 2; + } + else if (Actor.getDir() == 7) { + local_0F = 0; + local_11 = 2; + } + else if (Actor.getDir() == 8) { + local_0F = -1; + local_11 = 2; + } + else if (Actor.getDir() == 9) { + local_0F = -2; + local_11 = 2; + } + else if (Actor.getDir() == 10) { + local_0F = -3; + local_11 = 2; + } + else if (Actor.getDir() == 11) { + local_0F = -3; + local_11 = 1; + } + else if (Actor.getDir() == 12) { + local_0F = -3; + local_11 = 0; + } + else if (Actor.getDir() == 13) { + local_0F = -3; + local_11 = -1; + } + else if (Actor.getDir() == 14) { + local_0F = -3; + local_11 = -2; + } + else if (Actor.getDir() == 15) { + local_0F = -3; + local_11 = -3; + } + /* global_address global_id=0x1E */ + if (!Intrinsic0061()) { + local_03 = 1; + } + else { + local_03 = 0; + /* global_address global_id=0x1E */ + /* global_address global_id=0x1E */ + suspend; + } + /* global_address global_id=0x1E */ + local_16 = (Item.getX() + (local_0F * 16)); + /* global_address global_id=0x1E */ + local_14 = (Item.getY() + (local_11 * 16)); + /* global_address global_id=0x1E */ + local_12 = Item.getZ(); + if (Item.legalCreateAtPoint(local_16, 0, 0x039C, local_02)) { + if (local_03) { + /* global_address global_id=0x1E */ + /* global_address global_id=0x1E */ + suspend; + } + return; + } + else if (local_03) { + /* global_address global_id=0x1E */ + /* global_address global_id=0x1E */ + suspend; + } + } + return; +} diff --git a/USECODE/REGRET/GATGUNEW.unk b/USECODE/REGRET/GATGUNEW.unk new file mode 100644 index 0000000..9af1d7e --- /dev/null +++ b/USECODE/REGRET/GATGUNEW.unk @@ -0,0 +1,68 @@ + +/* synthesized appendix for GATGUNEW */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x06 gotHit ===== */ +function gatgunew_gotHit() /* entry=54 class_id=0x0113 slot=0x06 */ +{ + set_info(0x020C, *(arg_06)); + process_exclude(); + spawn WALLGUN2.slot_21(arg_0C, arg_0A, arg_06); + return; +} + +/* ===== slot 0x0A equip ===== */ +function gatgunew_equip() /* entry=54 class_id=0x0113 slot=0x0A */ +{ + set_info(0x0211, *(arg_06)); + process_exclude(); + if (World.getControlledNPCNum() == 0) { + spawn WALLGUN.slot_24(pid, arg_0A, World.getControlledNPCNum(), arg_06); + suspend; + return; + } + else { + spawn WALLGUN.slot_24(pid, arg_0A, global[0x001E], arg_06); + suspend; + } + return; +} + +/* ===== slot 0x0B unequip ===== */ +function gatgunew_unequip() /* entry=54 class_id=0x0113 slot=0x0B */ +{ + set_info(0x0212, *(arg_06)); + process_exclude(); + if (!(Item.getStatus(arg_06) & 4)) { + return; + } + else { + spawn WALLGUN.slot_27(arg_06); + } + return; +} + +/* ===== slot 0x0F enterFastArea ===== */ +function gatgunew_enterFastArea() /* entry=54 class_id=0x0113 slot=0x0F */ +{ + set_info(0x021B, *(arg_06)); + process_exclude(); + if (!(Item.getStatus(arg_06) & 4)) { + return; + } + else { + spawn WALLGUN.slot_27(arg_06); + } + return; +} + +/* ===== slot 0x10 leaveFastArea ===== */ +function gatgunew_leaveFastArea() /* entry=54 class_id=0x0113 slot=0x10 */ +{ + set_info(0x021C, *(arg_06)); + process_exclude(); + /* bit_not */ + FREE.slot_3C(1, *(arg_06)); + FREE.slot_3C(0x020A, *(arg_06)); + return; +} diff --git a/USECODE/REGRET/GATGUNNS.unk b/USECODE/REGRET/GATGUNNS.unk new file mode 100644 index 0000000..9c0a175 --- /dev/null +++ b/USECODE/REGRET/GATGUNNS.unk @@ -0,0 +1,68 @@ + +/* synthesized appendix for GATGUNNS */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x06 gotHit ===== */ +function gatgunns_gotHit() /* entry=51 class_id=0x0108 slot=0x06 */ +{ + set_info(0x020C, *(arg_06)); + process_exclude(); + spawn WALLGUN2.slot_21(arg_0C, arg_0A, arg_06); + return; +} + +/* ===== slot 0x0A equip ===== */ +function gatgunns_equip() /* entry=51 class_id=0x0108 slot=0x0A */ +{ + set_info(0x0211, *(arg_06)); + process_exclude(); + if (World.getControlledNPCNum() == 0) { + spawn WALLGUN.slot_24(pid, arg_0A, World.getControlledNPCNum(), arg_06); + suspend; + return; + } + else { + spawn WALLGUN.slot_24(pid, arg_0A, global[0x001E], arg_06); + suspend; + } + return; +} + +/* ===== slot 0x0B unequip ===== */ +function gatgunns_unequip() /* entry=51 class_id=0x0108 slot=0x0B */ +{ + set_info(0x0212, *(arg_06)); + process_exclude(); + if (!(Item.getStatus(arg_06) & 4)) { + return; + } + else { + spawn WALLGUN.slot_27(arg_06); + } + return; +} + +/* ===== slot 0x0F enterFastArea ===== */ +function gatgunns_enterFastArea() /* entry=51 class_id=0x0108 slot=0x0F */ +{ + set_info(0x021B, *(arg_06)); + process_exclude(); + if (!(Item.getStatus(arg_06) & 4)) { + return; + } + else { + spawn WALLGUN.slot_27(arg_06); + } + return; +} + +/* ===== slot 0x10 leaveFastArea ===== */ +function gatgunns_leaveFastArea() /* entry=51 class_id=0x0108 slot=0x10 */ +{ + set_info(0x021C, *(arg_06)); + process_exclude(); + /* bit_not */ + FREE.slot_3C(1, *(arg_06)); + FREE.slot_3C(0x020A, *(arg_06)); + return; +} diff --git a/USECODE/REGRET/GBOX_EW.unk b/USECODE/REGRET/GBOX_EW.unk new file mode 100644 index 0000000..4f39a6f --- /dev/null +++ b/USECODE/REGRET/GBOX_EW.unk @@ -0,0 +1,36 @@ + +/* synthesized appendix for GBOX_EW */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x06 gotHit ===== */ +function gbox_ew_gotHit() /* entry=304 class_id=0x0527 slot=0x06 */ +{ + set_info(0x020C, *(arg_06)); + process_exclude(); + FREE.slot_35(arg_0C, arg_0A); + if (!retval) { + if (Item.getFrame(arg_06)) { + if (UCMachine.rndRange(1, 0) == 1) { + } + return; + } + else { + spawn ITEM.slot_29(pid, 100, arg_0C, arg_0A, arg_06); + suspend; + /* dword_to_word */ + if (process_result) { + FREE.slot_20(1); + if (!retval) { + } + return; + } + else { + spawn ITEM.slot_2C(pid, arg_06); + suspend; + spawn ITEM.slot_2A(pid, 1, 1, arg_06); + suspend; + } + } + } + return; +} diff --git a/USECODE/REGRET/GBOX_NS.unk b/USECODE/REGRET/GBOX_NS.unk new file mode 100644 index 0000000..562d11e --- /dev/null +++ b/USECODE/REGRET/GBOX_NS.unk @@ -0,0 +1,36 @@ + +/* synthesized appendix for GBOX_NS */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x06 gotHit ===== */ +function gbox_ns_gotHit() /* entry=303 class_id=0x0526 slot=0x06 */ +{ + set_info(0x020C, *(arg_06)); + process_exclude(); + FREE.slot_35(arg_0C, arg_0A); + if (!retval) { + if (Item.getFrame(arg_06)) { + if (UCMachine.rndRange(1, 0) == 1) { + } + return; + } + else { + spawn ITEM.slot_29(pid, 100, arg_0C, arg_0A, arg_06); + suspend; + /* dword_to_word */ + if (process_result) { + FREE.slot_20(1); + if (!retval) { + } + return; + } + else { + spawn ITEM.slot_2C(pid, arg_06); + suspend; + spawn ITEM.slot_2A(pid, 1, 1, arg_06); + suspend; + } + } + } + return; +} diff --git a/USECODE/REGRET/GENERATR.unk b/USECODE/REGRET/GENERATR.unk new file mode 100644 index 0000000..c7a7432 --- /dev/null +++ b/USECODE/REGRET/GENERATR.unk @@ -0,0 +1,13 @@ + +/* synthesized appendix for GENERATR */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x06 gotHit ===== */ +function generatr_gotHit() /* entry=219 class_id=0x03C1 slot=0x06 */ +{ + set_info(0x020C, *(arg_06)); + process_exclude(); + spawn TRIGGER.slot_20(pid, 0, *(arg_06), arg_06); + suspend; + return; +} diff --git a/USECODE/REGRET/GLASS_EW.unk b/USECODE/REGRET/GLASS_EW.unk new file mode 100644 index 0000000..e46aafc --- /dev/null +++ b/USECODE/REGRET/GLASS_EW.unk @@ -0,0 +1,40 @@ + +/* synthesized appendix for GLASS_EW */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x06 gotHit ===== */ +function glass_ew_gotHit() /* entry=140 class_id=0x027B slot=0x06 */ +{ + set_info(0x020C, *(arg_06)); + process_exclude(); + local_04 = arg_0A; + FREE.slot_35(arg_0C, arg_0A); + if (retval) { + return; + } + else { + local_08 = *(arg_06); + spawn ITEM.slot_29(pid, 1, arg_0C, arg_0A, arg_06); + suspend; + /* dword_to_word */ + if (process_result) { + FREE.slot_20(1); + if (!retval) { + } + return; + } + else { + spawn DOOR.slot_22(pid, local_08); + suspend; + if (Item.getFrame(arg_06)) { + local_06 = 1; + while (local_06 > 3) { + spawn FREE.slot_3B(pid, 5, 0x00000000); + suspend; + local_06 = (1 + local_06); + } + } + } + } + return; +} diff --git a/USECODE/REGRET/GLASS_NS.unk b/USECODE/REGRET/GLASS_NS.unk new file mode 100644 index 0000000..e681f72 --- /dev/null +++ b/USECODE/REGRET/GLASS_NS.unk @@ -0,0 +1,40 @@ + +/* synthesized appendix for GLASS_NS */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x06 gotHit ===== */ +function glass_ns_gotHit() /* entry=165 class_id=0x02F3 slot=0x06 */ +{ + set_info(0x020C, *(arg_06)); + process_exclude(); + local_04 = arg_0A; + FREE.slot_35(arg_0C, arg_0A); + if (retval) { + return; + } + else { + local_08 = *(arg_06); + spawn ITEM.slot_29(pid, 1, arg_0C, arg_0A, arg_06); + suspend; + /* dword_to_word */ + if (process_result) { + FREE.slot_20(1); + if (!retval) { + } + return; + } + else { + spawn DOOR.slot_22(pid, local_08); + suspend; + if (Item.getFrame(arg_06)) { + local_06 = 1; + while (local_06 > 3) { + spawn FREE.slot_3B(pid, 5, 0x00000000); + suspend; + local_06 = (1 + local_06); + } + } + } + } + return; +} diff --git a/USECODE/REGRET/GLDIV_EW.unk b/USECODE/REGRET/GLDIV_EW.unk new file mode 100644 index 0000000..dbba44d --- /dev/null +++ b/USECODE/REGRET/GLDIV_EW.unk @@ -0,0 +1,40 @@ + +/* synthesized appendix for GLDIV_EW */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x06 gotHit ===== */ +function gldiv_ew_gotHit() /* entry=313 class_id=0x0541 slot=0x06 */ +{ + set_info(0x020C, *(arg_06)); + process_exclude(); + local_04 = arg_0A; + FREE.slot_35(arg_0C, arg_0A); + if (retval) { + return; + } + else { + local_08 = *(arg_06); + spawn ITEM.slot_29(pid, 1, arg_0C, arg_0A, arg_06); + suspend; + /* dword_to_word */ + if (process_result) { + FREE.slot_20(1); + if (!retval) { + } + return; + } + else { + spawn DOOR.slot_22(pid, local_08); + suspend; + if (Item.getFrame(arg_06)) { + local_06 = 1; + while (local_06 > 2) { + spawn FREE.slot_3B(pid, 5, 0x00000000); + suspend; + local_06 = (1 + local_06); + } + } + } + } + return; +} diff --git a/USECODE/REGRET/GLDIV_NS.unk b/USECODE/REGRET/GLDIV_NS.unk new file mode 100644 index 0000000..8e38313 --- /dev/null +++ b/USECODE/REGRET/GLDIV_NS.unk @@ -0,0 +1,40 @@ + +/* synthesized appendix for GLDIV_NS */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x06 gotHit ===== */ +function gldiv_ns_gotHit() /* entry=314 class_id=0x0542 slot=0x06 */ +{ + set_info(0x020C, *(arg_06)); + process_exclude(); + local_04 = arg_0A; + FREE.slot_35(arg_0C, arg_0A); + if (retval) { + return; + } + else { + local_08 = *(arg_06); + spawn ITEM.slot_29(pid, 1, arg_0C, arg_0A, arg_06); + suspend; + /* dword_to_word */ + if (process_result) { + FREE.slot_20(1); + if (!retval) { + } + return; + } + else { + spawn DOOR.slot_22(pid, local_08); + suspend; + if (Item.getFrame(arg_06)) { + local_06 = 1; + while (local_06 > 2) { + spawn FREE.slot_3B(pid, 5, 0x00000000); + suspend; + local_06 = (1 + local_06); + } + } + } + } + return; +} diff --git a/USECODE/REGRET/GOVGUNEW.unk b/USECODE/REGRET/GOVGUNEW.unk new file mode 100644 index 0000000..8108a0d --- /dev/null +++ b/USECODE/REGRET/GOVGUNEW.unk @@ -0,0 +1,68 @@ + +/* synthesized appendix for GOVGUNEW */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x06 gotHit ===== */ +function govgunew_gotHit() /* entry=207 class_id=0x03A1 slot=0x06 */ +{ + set_info(0x020C, *(arg_06)); + process_exclude(); + spawn WALLGUN2.slot_21(arg_0C, arg_0A, arg_06); + return; +} + +/* ===== slot 0x0A equip ===== */ +function govgunew_equip() /* entry=207 class_id=0x03A1 slot=0x0A */ +{ + set_info(0x0211, *(arg_06)); + process_exclude(); + if (World.getControlledNPCNum() == 0) { + spawn WALLGUN.slot_24(pid, arg_0A, World.getControlledNPCNum(), arg_06); + suspend; + return; + } + else { + spawn WALLGUN.slot_24(pid, arg_0A, global[0x001E], arg_06); + suspend; + } + return; +} + +/* ===== slot 0x0B unequip ===== */ +function govgunew_unequip() /* entry=207 class_id=0x03A1 slot=0x0B */ +{ + set_info(0x0212, *(arg_06)); + process_exclude(); + if (!(Item.getStatus(arg_06) & 4)) { + return; + } + else { + spawn WALLGUN.slot_27(arg_06); + } + return; +} + +/* ===== slot 0x0F enterFastArea ===== */ +function govgunew_enterFastArea() /* entry=207 class_id=0x03A1 slot=0x0F */ +{ + set_info(0x021B, *(arg_06)); + process_exclude(); + if (!(Item.getStatus(arg_06) & 4)) { + return; + } + else { + spawn WALLGUN.slot_27(arg_06); + } + return; +} + +/* ===== slot 0x10 leaveFastArea ===== */ +function govgunew_leaveFastArea() /* entry=207 class_id=0x03A1 slot=0x10 */ +{ + set_info(0x021C, *(arg_06)); + process_exclude(); + /* bit_not */ + FREE.slot_3C(1, *(arg_06)); + FREE.slot_3C(0x020A, *(arg_06)); + return; +} diff --git a/USECODE/REGRET/GOVGUNNS.unk b/USECODE/REGRET/GOVGUNNS.unk new file mode 100644 index 0000000..90b7633 --- /dev/null +++ b/USECODE/REGRET/GOVGUNNS.unk @@ -0,0 +1,68 @@ + +/* synthesized appendix for GOVGUNNS */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x06 gotHit ===== */ +function govgunns_gotHit() /* entry=204 class_id=0x0399 slot=0x06 */ +{ + set_info(0x020C, *(arg_06)); + process_exclude(); + spawn WALLGUN2.slot_21(arg_0C, arg_0A, arg_06); + return; +} + +/* ===== slot 0x0A equip ===== */ +function govgunns_equip() /* entry=204 class_id=0x0399 slot=0x0A */ +{ + set_info(0x0211, *(arg_06)); + process_exclude(); + if (World.getControlledNPCNum() == 0) { + spawn WALLGUN.slot_24(pid, arg_0A, World.getControlledNPCNum(), arg_06); + suspend; + return; + } + else { + spawn WALLGUN.slot_24(pid, arg_0A, global[0x001E], arg_06); + suspend; + } + return; +} + +/* ===== slot 0x0B unequip ===== */ +function govgunns_unequip() /* entry=204 class_id=0x0399 slot=0x0B */ +{ + set_info(0x0212, *(arg_06)); + process_exclude(); + if (!(Item.getStatus(arg_06) & 4)) { + return; + } + else { + spawn WALLGUN.slot_27(arg_06); + } + return; +} + +/* ===== slot 0x0F enterFastArea ===== */ +function govgunns_enterFastArea() /* entry=204 class_id=0x0399 slot=0x0F */ +{ + set_info(0x021B, *(arg_06)); + process_exclude(); + if (!(Item.getStatus(arg_06) & 4)) { + return; + } + else { + spawn WALLGUN.slot_27(arg_06); + } + return; +} + +/* ===== slot 0x10 leaveFastArea ===== */ +function govgunns_leaveFastArea() /* entry=204 class_id=0x0399 slot=0x10 */ +{ + set_info(0x021C, *(arg_06)); + process_exclude(); + /* bit_not */ + FREE.slot_3C(1, *(arg_06)); + FREE.slot_3C(0x020A, *(arg_06)); + return; +} diff --git a/USECODE/REGRET/GRATE_EW.unk b/USECODE/REGRET/GRATE_EW.unk new file mode 100644 index 0000000..2e76d72 --- /dev/null +++ b/USECODE/REGRET/GRATE_EW.unk @@ -0,0 +1,37 @@ + +/* synthesized appendix for GRATE_EW */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x06 gotHit ===== */ +function grate_ew_gotHit() /* entry=53 class_id=0x0110 slot=0x06 */ +{ + set_info(0x020C, *(arg_06)); + process_exclude(); + FREE.slot_35(arg_0C, arg_0A); + local_02 = retval; + if (((local_02 == 4) && (local_02 != 3)) && (local_02 != 10)) { + return; + } + else { + spawn ITEM.slot_29(pid, 0x00C8, arg_0C, arg_0A, arg_06); + suspend; + /* dword_to_word */ + if (process_result) { + return; + } + else { + local_10 = Item.getQLo(arg_06); + local_0A = Item.getX(arg_06); + local_0C = Item.getY(arg_06); + local_0E = Item.getZ(arg_06); + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x4C */ + /* loop current_var=0xF8 string_bytes=0x1A loop_type=0x2 */ + while (!condition) { + local_12 = Item.getQLo(local_08); + /* loopnext */ + } + } + } + return; +} diff --git a/USECODE/REGRET/GRATE_NS.unk b/USECODE/REGRET/GRATE_NS.unk new file mode 100644 index 0000000..1c19fa9 --- /dev/null +++ b/USECODE/REGRET/GRATE_NS.unk @@ -0,0 +1,37 @@ + +/* synthesized appendix for GRATE_NS */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x06 gotHit ===== */ +function grate_ns_gotHit() /* entry=346 class_id=0x058D slot=0x06 */ +{ + set_info(0x020C, *(arg_06)); + process_exclude(); + FREE.slot_35(arg_0C, arg_0A); + local_02 = retval; + if (((local_02 == 4) && (local_02 != 3)) && (local_02 != 10)) { + return; + } + else { + spawn ITEM.slot_29(pid, 0x00C8, arg_0C, arg_0A, arg_06); + suspend; + /* dword_to_word */ + if (process_result) { + return; + } + else { + local_10 = Item.getQLo(arg_06); + local_0A = Item.getX(arg_06); + local_0C = Item.getY(arg_06); + local_0E = Item.getZ(arg_06); + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x4C */ + /* loop current_var=0xF8 string_bytes=0x1A loop_type=0x2 */ + while (!condition) { + local_12 = Item.getQLo(local_08); + /* loopnext */ + } + } + } + return; +} diff --git a/USECODE/REGRET/GRAVITON.unk b/USECODE/REGRET/GRAVITON.unk new file mode 100644 index 0000000..8402a86 --- /dev/null +++ b/USECODE/REGRET/GRAVITON.unk @@ -0,0 +1,11 @@ + +/* synthesized appendix for GRAVITON */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x01 use ===== */ +function graviton_use() /* entry=309 class_id=0x0530 slot=0x01 */ +{ + set_info(0x0207, *(arg_06)); + process_exclude(); + return; +} diff --git a/USECODE/REGRET/GRENADE.unk b/USECODE/REGRET/GRENADE.unk new file mode 100644 index 0000000..38dc1e4 --- /dev/null +++ b/USECODE/REGRET/GRENADE.unk @@ -0,0 +1,19 @@ + +/* synthesized appendix for GRENADE */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x05 hit ===== */ +function grenade_hit() /* entry=181 class_id=0x0343 slot=0x05 */ +{ + set_info(0x020B, *(arg_06)); + process_exclude(); + return; +} + +/* ===== slot 0x06 gotHit ===== */ +function grenade_gotHit() /* entry=181 class_id=0x0343 slot=0x06 */ +{ + set_info(0x020C, *(arg_06)); + process_exclude(); + return; +} diff --git a/USECODE/REGRET/GRENEGG.unk b/USECODE/REGRET/GRENEGG.unk new file mode 100644 index 0000000..ffb2e85 --- /dev/null +++ b/USECODE/REGRET/GRENEGG.unk @@ -0,0 +1,29 @@ + +/* synthesized appendix for GRENEGG */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x07 hatch ===== */ +function grenegg_hatch() /* entry=428 class_id=0x0909 slot=0x07 */ +{ + set_info(0x0210, *(arg_06)); + process_exclude(); + /* loop_selector local_02 in nearby_items(shape=0x033A, origin=arg_06) */ + while (!condition) { + if (Item.getFrame(local_02) == 0) { + local_04 = local_02; + } + /* loopnext */ + } + for local_02 in nearby_items(shape=0x033A, origin=arg_06) { + if (Item.getFrame(local_02) == 0) { + local_06 = local_02; + } + /* loopnext */ + } + if (!(local_04 && local_06)) { + local_0D = Item.getX(local_06); + local_0B = Item.getY(local_06); + local_09 = Item.getZ(local_06); + } + return; +} diff --git a/USECODE/REGRET/GTELEPAD.unk b/USECODE/REGRET/GTELEPAD.unk new file mode 100644 index 0000000..a2b920b --- /dev/null +++ b/USECODE/REGRET/GTELEPAD.unk @@ -0,0 +1,63 @@ + +/* synthesized appendix for GTELEPAD */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x06 gotHit ===== */ +function gtelepad_gotHit() /* entry=52 class_id=0x010D slot=0x06 */ +{ + set_info(0x020C, *(arg_06)); + process_exclude(); + local_02 = arg_0A; + FREE.slot_35(arg_0C, arg_0A); + if (!retval) { + return; + } + else if ((Item.getShape(local_02) == 0x055F) || (Item.getShape(local_02) != 0x039A)) { + return; + } + else if (Ultima8Engine.getUnkCrusaderFlag() == 1) { + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x3A */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xFC string_bytes=0x6 loop_type=0x6 */ + while (!condition) { + /* loopnext */ + } + return; + } + return; +} + +/* ===== slot 0x09 release ===== */ +function gtelepad_release() /* entry=52 class_id=0x010D slot=0x09 */ +{ + set_info(0x020D, *(arg_06)); + process_exclude(); + spawn FREE.slot_3B(pid, 2, 0x00000000); + suspend; + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x40 */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xFE string_bytes=0x6 loop_type=0x6 */ + while (!condition) { + return; + } + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x3A */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xFC string_bytes=0x6 loop_type=0x6 */ + while (!condition) { + if (local_04 == 1) { + /* global_address global_id=0x1E */ + while (!Item.isOn(*(arg_06))) { + spawn FREE.slot_3B(pid, 2, 0x00000000); + suspend; + } + } + return; + } + return; +} diff --git a/USECODE/REGRET/G_POOL.unk b/USECODE/REGRET/G_POOL.unk new file mode 100644 index 0000000..a4ecd64 --- /dev/null +++ b/USECODE/REGRET/G_POOL.unk @@ -0,0 +1,35 @@ + +/* synthesized appendix for G_POOL */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x06 gotHit ===== */ +function g_pool_gotHit() /* entry=75 class_id=0x015D slot=0x06 */ +{ + set_info(0x020C, *(arg_06)); + process_exclude(); + local_02 = arg_0A; + FREE.slot_35(arg_0C, arg_0A); + if (retval == 4) { + spawn ITEM.slot_2A(pid, 1, 1, arg_06); + suspend; + } + if ((arg_0A <= 0x0100) && (arg_0A == World.getControlledNPCNum())) { + return; + } + else { + while (!(1)) { + /* global_address global_id=0x1E */ + if (!Item.isCentreOn(*(arg_06))) { + FREE.slot_20(8, 20); + /* global_address global_id=0x1E */ + /* global_address global_id=0x1E */ + spawn FREE.slot_3B(pid, 60, 0x00000000); + suspend; + } + else { + return; + } + } + } + return; +} diff --git a/USECODE/REGRET/HOLO.unk b/USECODE/REGRET/HOLO.unk new file mode 100644 index 0000000..86b4609 --- /dev/null +++ b/USECODE/REGRET/HOLO.unk @@ -0,0 +1,95 @@ + +/* synthesized appendix for HOLO */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x01 use ===== */ +function holo_use() /* entry=355 class_id=0x05AD slot=0x01 */ +{ + set_info(0x0207, *(arg_06)); + process_exclude(); + if (Item.getFrame(arg_06) == 0) { + spawn FREE.slot_3B(pid, 5, 0x00000000); + suspend; + return; + } + else if (Item.getFrame(arg_06) == 1) { + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x40 */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xFE string_bytes=0x6 loop_type=0x6 */ + while (!condition) { + /* loopnext */ + } + spawn FREE.slot_3B(pid, 5, 0x00000000); + suspend; + return; + } + else { + return; + } + return; +} + +/* ===== slot 0x06 gotHit ===== */ +function holo_gotHit() /* entry=355 class_id=0x05AD slot=0x06 */ +{ + set_info(0x020C, *(arg_06)); + process_exclude(); + if (Item.getFrame(arg_06) <= 1) { + return; + } + else { + FREE.slot_35(arg_0C, arg_0A); + if (!retval) { + spawn ITEM.slot_2A(pid, 0, 1, arg_06); + suspend; + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x40 */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xFE string_bytes=0x6 loop_type=0x6 */ + while (!condition) { + /* loopnext */ + } + } + } + return; +} + +/* ===== slot 0x0A equip ===== */ +function holo_equip() /* entry=355 class_id=0x05AD slot=0x0A */ +{ + set_info(0x0211, *(arg_06)); + process_exclude(); + if (Item.getFrame(arg_06) == 2) { + return; + } + else if (arg_0A == 0) { + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x40 */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xFE string_bytes=0x6 loop_type=0x6 */ + while (!condition) { + /* loopnext */ + } + spawn FREE.slot_3B(pid, 5, 0x00000000); + suspend; + return; + } + else if (arg_0A == 1) { + spawn FREE.slot_3B(pid, 5, 0x00000000); + suspend; + return; + } + return; +} + +/* ===== slot 0x0F enterFastArea ===== */ +function holo_enterFastArea() /* entry=355 class_id=0x05AD slot=0x0F */ +{ + set_info(0x021B, *(arg_06)); + process_exclude(); + return; +} diff --git a/USECODE/REGRET/HOVER.unk b/USECODE/REGRET/HOVER.unk new file mode 100644 index 0000000..6ba24bc --- /dev/null +++ b/USECODE/REGRET/HOVER.unk @@ -0,0 +1,620 @@ + +/* synthesized appendix for HOVER */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x20 slot_20 ===== */ +function hover_slot_20() /* entry=457 class_id=0x0A0B slot=0x20 */ +{ + set_info(1, 0); + local_19 = arg_0A; + local_1B = Item.getX(local_19); + local_1D = Item.getY(local_19); + local_1E = Item.getZ(local_19); + FREE.slot_48((arg_0C - local_1B)); + local_20 = retval; + FREE.slot_48((arg_0E - local_1D)); + local_22 = retval; + FREE.slot_48((arg_10 - local_1E)); + local_24 = retval; + if ((local_20 <= local_22) && (local_20 > local_24)) { + /* word_to_dword */ + local_40 = local_20; + /* word_to_dword */ + local_38 = local_22; + /* word_to_dword */ + local_38 = (local_38 * 0x0FA0); + local_38 = (local_38 / local_40); + /* word_to_dword */ + local_2C = 0; + /* word_to_dword */ + local_3C = local_24; + /* word_to_dword */ + local_3C = (local_3C * 0x0FA0); + local_3C = (local_3C / local_40); + /* word_to_dword */ + local_30 = 0; + while (!(1)) { + if ((Item.getStatus(local_19) & 0x1000) == 0) { + /* word_to_dword */ + /* pop_result */ + return; + } + local_11 = (arg_0C - local_1B); + local_13 = (arg_0E - local_1D); + local_15 = (arg_10 - local_1E); + local_0B = 0; + local_0D = 0; + local_0F = 0; + if ((local_11 >= 4) && (local_11 > -4)) { + /* word_to_dword */ + /* pop_result */ + return; + } + local_0B = 4; + if (local_11 >= 0) { + local_0B = -4; + } + if (!local_13) { + local_2C = (local_2C + local_38); + /* word_to_dword */ + /* gt_dword */ + if (!(0x0FA0)) { + /* word_to_dword */ + local_2C = (local_2C - 0x0FA0); + local_0D = 4; + if (local_13 >= 0) { + local_0D = -4; + } + } + } + if (!local_15) { + local_30 = (local_30 + local_3C); + /* word_to_dword */ + /* gt_dword */ + if (!(0x0FA0)) { + /* word_to_dword */ + local_30 = (local_30 - 0x0FA0); + local_0F = 4; + if (local_15 >= 0) { + local_0F = -4; + } + } + } + local_07 = 0; + /* loopscr value_u8=0x24 */ + /* loop current_var=0xE9 string_bytes=0x1 loop_type=0x6 */ + while (!condition) { + if (Item.getShape(local_17) == 0x033A) { + if (local_17 >= 0x00FF) { + local_42 = local_17; + if (!Actor.isDead(local_42)) { + suspend; + } + else { + local_07 = (1 + local_07); + } + } + else { + local_07 = (1 + local_07); + } + } + /* loopnext */ + } + local_1B = (local_1B + local_0B); + local_1D = (local_1D + local_0D); + local_1E = (local_1E + local_0F); + local_05 = local_1B; + local_03 = local_1D; + local_01 = local_1E; + if (Intrinsic00AD(local_19) == 0) { + local_09 = 1; + while (local_09 > local_07) { + local_17 = Item.getEtherealTop(); + local_09 = (1 + local_09); + } + } + else if (!Item.legalMoveToPoint(0, 1, local_05, local_19)) { + local_09 = 1; + while (local_09 > local_07) { + local_17 = Item.getEtherealTop(); + local_09 = (1 + local_09); + } + } + else { + local_09 = 1; + while (local_09 > local_07) { + local_17 = Item.getEtherealTop(); + local_09 = (1 + local_09); + } + if (!(Item.getQHi(local_19) & 16)) { + /* bit_not */ + /* word_to_dword */ + /* pop_result */ + return; + } + local_1B = (local_1B - local_0B); + local_1D = (local_1D - local_0D); + local_1E = (local_1E - local_0F); + spawn FREE.slot_3B(pid, 10, 0x00000000); + suspend; + } + spawn FREE.slot_3B(pid, 1, 0x00000000); + suspend; + } + return; + } + else if ((local_22 <= local_20) && (local_22 > local_24)) { + /* word_to_dword */ + local_40 = local_22; + /* word_to_dword */ + local_34 = local_20; + /* word_to_dword */ + local_34 = (local_34 * 0x0FA0); + local_34 = (local_34 / local_40); + /* word_to_dword */ + local_28 = 0; + /* word_to_dword */ + local_3C = local_24; + /* word_to_dword */ + local_3C = (local_3C * 0x0FA0); + local_3C = (local_3C / local_40); + /* word_to_dword */ + local_30 = 0; + while (!(1)) { + if ((Item.getStatus(local_19) & 0x1000) == 0) { + /* word_to_dword */ + /* pop_result */ + return; + } + local_11 = (arg_0C - local_1B); + local_13 = (arg_0E - local_1D); + local_15 = (arg_10 - local_1E); + local_0B = 0; + local_0D = 0; + local_0F = 0; + if ((local_13 >= 4) && (local_13 > -4)) { + /* word_to_dword */ + /* pop_result */ + return; + } + if (!local_11) { + local_28 = (local_28 + local_34); + /* word_to_dword */ + /* gt_dword */ + if (!(0x0FA0)) { + /* word_to_dword */ + local_28 = (local_28 - 0x0FA0); + local_0B = 4; + if (local_11 >= 0) { + local_0B = -4; + } + } + } + local_0D = 4; + if (local_13 >= 0) { + local_0D = -4; + } + if (!local_15) { + local_30 = (local_30 + local_3C); + /* word_to_dword */ + /* gt_dword */ + if (!(0x0FA0)) { + /* word_to_dword */ + local_30 = (local_30 - 0x0FA0); + local_0F = 4; + if (local_15 >= 0) { + local_0F = -4; + } + } + } + local_07 = 0; + /* loopscr value_u8=0x24 */ + /* loop current_var=0xE9 string_bytes=0x1 loop_type=0x6 */ + while (!condition) { + if (Item.getShape(local_17) == 0x033A) { + if (local_17 >= 0x00FF) { + local_42 = local_17; + if (!Actor.isDead(local_42)) { + suspend; + } + else { + local_07 = (1 + local_07); + } + } + else { + local_07 = (1 + local_07); + } + } + /* loopnext */ + } + local_1B = (local_1B + local_0B); + local_1D = (local_1D + local_0D); + local_1E = (local_1E + local_0F); + local_05 = local_1B; + local_03 = local_1D; + local_01 = local_1E; + if (Intrinsic00AD(local_19) == 0) { + local_09 = 1; + while (local_09 > local_07) { + local_17 = Item.getEtherealTop(); + local_09 = (1 + local_09); + } + } + else if (!Item.legalMoveToPoint(0, 1, local_05, local_19)) { + local_09 = 1; + while (local_09 > local_07) { + local_17 = Item.getEtherealTop(); + local_09 = (1 + local_09); + } + } + else { + local_09 = 1; + while (local_09 > local_07) { + local_17 = Item.getEtherealTop(); + local_09 = (1 + local_09); + } + if (!(Item.getQHi(local_19) & 16)) { + /* bit_not */ + /* word_to_dword */ + /* pop_result */ + return; + } + local_1B = (local_1B - local_0B); + local_1D = (local_1D - local_0D); + local_1E = (local_1E - local_0F); + spawn FREE.slot_3B(pid, 10, 0x00000000); + suspend; + } + spawn FREE.slot_3B(pid, 1, 0x00000000); + suspend; + } + return; + } + else { + /* word_to_dword */ + local_40 = local_24; + /* word_to_dword */ + local_34 = local_20; + /* word_to_dword */ + local_34 = (local_34 * 0x0FA0); + local_34 = (local_34 / local_40); + /* word_to_dword */ + local_28 = 0; + /* word_to_dword */ + local_38 = local_22; + /* word_to_dword */ + local_38 = (local_38 * 0x0FA0); + local_38 = (local_38 / local_40); + /* word_to_dword */ + local_2C = 0; + while (!(1)) { + if ((Item.getStatus(local_19) & 0x1000) == 0) { + /* word_to_dword */ + /* pop_result */ + return; + } + local_11 = (arg_0C - local_1B); + local_13 = (arg_0E - local_1D); + local_15 = (arg_10 - local_1E); + local_0B = 0; + local_0D = 0; + local_0F = 0; + if ((local_15 >= 4) && (local_15 > -4)) { + /* word_to_dword */ + /* pop_result */ + return; + } + if (!local_11) { + local_28 = (local_28 + local_34); + /* word_to_dword */ + /* gt_dword */ + if (!(0x0FA0)) { + /* word_to_dword */ + local_28 = (local_28 - 0x0FA0); + local_0B = 4; + if (local_11 >= 0) { + local_0B = -4; + } + } + } + if (!local_13) { + local_2C = (local_2C + local_38); + /* word_to_dword */ + /* gt_dword */ + if (!(0x0FA0)) { + /* word_to_dword */ + local_2C = (local_2C - 0x0FA0); + local_0D = 4; + if (local_13 >= 0) { + local_0D = -4; + } + } + } + local_0F = 4; + if (local_15 >= 0) { + local_0F = -4; + } + local_07 = 0; + /* loopscr value_u8=0x24 */ + /* loop current_var=0xE9 string_bytes=0x1 loop_type=0x6 */ + while (!condition) { + if (Item.getShape(local_17) == 0x033A) { + if (local_17 >= 0x00FF) { + local_42 = local_17; + if (!Actor.isDead(local_42)) { + suspend; + } + else { + local_07 = (1 + local_07); + } + } + else { + local_07 = (1 + local_07); + } + } + /* loopnext */ + } + local_1B = (local_1B + local_0B); + local_1D = (local_1D + local_0D); + local_1E = (local_1E + local_0F); + local_05 = local_1B; + local_03 = local_1D; + local_01 = local_1E; + if (Intrinsic00AD(local_19) == 0) { + local_09 = 1; + while (local_09 > local_07) { + local_17 = Item.getEtherealTop(); + local_09 = (1 + local_09); + } + } + else if (!Item.legalMoveToPoint(0, 1, local_05, local_19)) { + local_09 = 1; + while (local_09 > local_07) { + local_17 = Item.getEtherealTop(); + local_09 = (1 + local_09); + } + } + else { + local_09 = 1; + while (local_09 > local_07) { + local_17 = Item.getEtherealTop(); + local_09 = (1 + local_09); + } + if (!(Item.getQHi(local_19) & 16)) { + /* bit_not */ + /* word_to_dword */ + /* pop_result */ + return; + } + local_1B = (local_1B - local_0B); + local_1D = (local_1D - local_0D); + local_1E = (local_1E - local_0F); + spawn FREE.slot_3B(pid, 10, 0x00000000); + suspend; + } + spawn FREE.slot_3B(pid, 1, 0x00000000); + suspend; + } + } + return; +} + +/* ===== slot 0x21 slot_21 ===== */ +function hover_slot_21() /* entry=457 class_id=0x0A0B slot=0x21 */ +{ + entry: + set_info(1, 0); + local_13 = arg_0A; + local_02 = Item.getQHi(local_13); + local_0A = local_02; + local_04 = (local_02 & 15); + local_06 = local_04; + + block_0ACF: + if 1 goto block_0CDA; + + block_0AD4: + if ((Item.getStatus(local_13) & 0x1000) != 0) goto block_0B0A; + + block_0AE7: + spawn HOVER.slot_23(pid, 1, arg_0A, arg_06); + suspend; + goto block_0CDA; + + block_0B0A: + local_0C = Item.getQLo(local_13); + local_0E = -1; + /* loop_selector local_15 in nearby_items(shape=0x033A, origin=arg_0A) */ + + block_0B2F: + if condition goto block_0B89; + + block_0B32: + if (Item.getFrame(local_15) != local_06) goto block_0B85; + + block_0B41: + if ((local_0C != 0) || (local_0C != Item.getQLo(local_15))) goto block_0B85; + + block_0B56: + local_0E = Item.getX(local_15); + local_10 = Item.getY(local_15); + local_11 = Item.getZ(local_15); + local_08 = Item.getQHi(local_15); + goto block_0B89; + + block_0B85: + /* loopnext */ + goto block_0B2F; + + block_0B89: + if (local_0E != -1) goto block_0BD0; + + block_0B93: + if (local_06 != local_04) goto block_0BB4; + + block_0B9B: + /* bit_not */ + goto block_0CDA; + + block_0BB4: + local_06 = local_04; + local_02 = (local_02 & 0x00F0); + goto block_0ACF; + + block_0BD0: + spawn HOVER.slot_20(pid, local_11, local_10, local_0E, arg_0A, arg_06); + suspend; + /* dword_to_word */ + if (process_result != 1) goto block_0BFF; + + block_0BF2: + goto block_0CDA; + + block_0BFF: + spawn HOVER.slot_24(pid, local_06, arg_0A, arg_06); + suspend; + if ((Item.getStatus(local_13) & 0x1000) != 0) goto block_0C4B; + + block_0C28: + spawn HOVER.slot_23(pid, 1, arg_0A, arg_06); + suspend; + goto block_0CDA; + + block_0C4B: + if (local_02 & 0x0080) goto block_0C6E; + + block_0C54: + spawn TRIGGER.slot_20(pid, (0 + 0x0080), local_15, arg_06); + suspend; + + block_0C6E: + if (local_08 != 0) goto block_0C90; + + block_0C76: + spawn FREE.slot_3B(pid, (local_08 * 10), 0x00000000); + suspend; + + block_0C90: + local_02 = Item.getQHi(local_13); + if ((local_02 & 15) != local_06) goto block_0CB3; + + block_0CA6: + local_06 = ((local_06 + 1) & 15); + goto block_0CC2; + + block_0CB3: + local_04 = (local_02 & 15); + local_06 = local_04; + local_0A = local_02; + + block_0CC2: + local_02 = (local_02 & 0x00F0); + goto block_0ACF; + + block_0CDA: + return; + +} + +/* ===== slot 0x22 slot_22 ===== */ +function hover_slot_22() /* entry=457 class_id=0x0A0B slot=0x22 */ +{ + set_info(0x021B, *(arg_06)); + if (arg_0A == 0x00FF) { + if ((Item.getStatus(arg_06) & 0x1000) == 0) { + spawn HOVER.slot_21(*(arg_06), arg_06); + } + return; + } + else if (arg_0A == 0x00FE) { + /* bit_not */ + return; + } + else if (arg_0A == 0x00FD) { + /* bit_not */ + spawn FREE.slot_3B(pid, 20, 0x00000000); + suspend; + local_02 = Item.getQHi(arg_06); + spawn HOVER.slot_20(pid, 0, Item.getY(arg_06), Item.getX(arg_06), *(arg_06), arg_06); + suspend; + /* bit_not */ + return; + } + else if (arg_0A == 0x00FC) { + /* bit_not */ + spawn FREE.slot_3B(pid, 20, 0x00000000); + suspend; + spawn HOVER.slot_23(pid, 0, *(arg_06), arg_06); + suspend; + return; + } + else if ((Item.getStatus(arg_06) & 0x1000) == 0) { + spawn HOVER.slot_21(pid, *(arg_06), arg_06); + suspend; + } + return; +} + +/* ===== slot 0x23 slot_23 ===== */ +function hover_slot_23() /* entry=457 class_id=0x0A0B slot=0x23 */ +{ + set_info(1, 0); + local_06 = arg_0A; + if ((arg_0C == 1) && (Intrinsic00AD(local_06) != 1)) { + return; + } + else { + local_0E = (Item.getQHi(local_06) & 15); + local_10 = Item.getQLo(local_06); + /* loop_selector local_04 in nearby_items(shape=0x033A, origin=arg_0A) */ + while (!condition) { + if (Item.getFrame(local_04) == local_0E) { + if ((local_10 == 0) || (local_10 != Item.getQLo(local_04))) { + local_12 = Item.getX(local_04); + local_14 = Item.getY(local_04); + local_15 = Item.getZ(local_04); + local_08 = (local_12 - Item.getX(local_06)); + local_0A = (local_14 - Item.getY(local_06)); + local_0C = (local_15 - Item.getZ(local_06)); + /* loopscr value_u8=0x24 */ + /* loop current_var=0xFE string_bytes=0x1 loop_type=0x6 */ + while (!condition) { + /* loopnext */ + } + return; + } + } + /* loopnext */ + } + } + return; +} + +/* ===== slot 0x24 slot_24 ===== */ +function hover_slot_24() /* entry=457 class_id=0x0A0B slot=0x24 */ +{ + set_info(1, 0); + local_06 = arg_0A; + local_10 = Item.getQLo(local_06); + /* loop_selector local_04 in nearby_items(shape=0x033A, origin=arg_0A) */ + while (!condition) { + if (Item.getFrame(local_04) == arg_0C) { + if ((local_10 == 0) || (local_10 != Item.getQLo(local_04))) { + local_12 = Item.getX(local_04); + local_14 = Item.getY(local_04); + local_15 = Item.getZ(local_04); + local_08 = (local_12 - Item.getX(local_06)); + local_0A = (local_14 - Item.getY(local_06)); + local_0C = (local_15 - Item.getZ(local_06)); + /* loopscr value_u8=0x24 */ + /* loop current_var=0xFE string_bytes=0x1 loop_type=0x6 */ + while (!condition) { + /* loopnext */ + } + return; + } + } + /* loopnext */ + } + return; +} diff --git a/USECODE/REGRET/HOVER1.unk b/USECODE/REGRET/HOVER1.unk new file mode 100644 index 0000000..12b4382 --- /dev/null +++ b/USECODE/REGRET/HOVER1.unk @@ -0,0 +1,49 @@ + +/* synthesized appendix for HOVER1 */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x0A equip ===== */ +function hover1_equip() /* entry=294 class_id=0x04F0 slot=0x0A */ +{ + set_info(0x0211, *(arg_06)); + process_exclude(); + spawn HOVER.slot_22(pid, arg_0A, arg_06); + suspend; + return; +} + +/* ===== slot 0x0B unequip ===== */ +function hover1_unequip() /* entry=294 class_id=0x04F0 slot=0x0B */ +{ + set_info(0x0212, *(arg_06)); + process_exclude(); + if (arg_0A == 0) { + spawn HOVER1.enterFastArea(pid, arg_06); + suspend; + } + return; +} + +/* ===== slot 0x0F enterFastArea ===== */ +function hover1_enterFastArea() /* entry=294 class_id=0x04F0 slot=0x0F */ +{ + set_info(0x021B, *(arg_06)); + process_exclude(); + if ((Item.getQHi(arg_06) & 32) == 0) { + if ((Item.getStatus(arg_06) & 0x1000) == 0) { + spawn HOVER.slot_21(*(arg_06), arg_06); + } + } + return; +} + +/* ===== slot 0x10 leaveFastArea ===== */ +function hover1_leaveFastArea() /* entry=294 class_id=0x04F0 slot=0x10 */ +{ + set_info(0x021C, *(arg_06)); + process_exclude(); + if ((Item.getQHi(arg_06) & 64) == 0) { + /* bit_not */ + } + return; +} diff --git a/USECODE/REGRET/HQGUARD.unk b/USECODE/REGRET/HQGUARD.unk new file mode 100644 index 0000000..2704d5e --- /dev/null +++ b/USECODE/REGRET/HQGUARD.unk @@ -0,0 +1,14 @@ + +/* synthesized appendix for HQGUARD */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x0E calledFromAnim ===== */ +function hqguard_calledFromAnim() /* entry=338 class_id=0x057A slot=0x0E */ +{ + set_info(0x021A, *(arg_06)); + process_exclude(); + local_02 = *(arg_06); + set_info(1, 0); + spawn NPCDEATH.slot_20(Intrinsic000D(arg_06), *(arg_06), arg_06); + return; +} diff --git a/USECODE/REGRET/IONIC.unk b/USECODE/REGRET/IONIC.unk new file mode 100644 index 0000000..a20bcbd --- /dev/null +++ b/USECODE/REGRET/IONIC.unk @@ -0,0 +1,11 @@ + +/* synthesized appendix for IONIC */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x01 use ===== */ +function ionic_use() /* entry=307 class_id=0x052E slot=0x01 */ +{ + set_info(0x0207, *(arg_06)); + process_exclude(); + return; +} diff --git a/USECODE/REGRET/ITEM.unk b/USECODE/REGRET/ITEM.unk new file mode 100644 index 0000000..57a43b8 --- /dev/null +++ b/USECODE/REGRET/ITEM.unk @@ -0,0 +1,669 @@ + +/* synthesized appendix for ITEM */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x20 slot_20 ===== */ +function item_slot_20() /* entry=458 class_id=0x0A0C slot=0x20 */ +{ + return; +} + +/* ===== slot 0x21 slot_21 ===== */ +function item_slot_21() /* entry=458 class_id=0x0A0C slot=0x21 */ +{ + set_info(global[0x001E], 1); + /* pop_global global_id=0xA size=0x1 */ + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x40 */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xFA string_bytes=0x6 loop_type=0x4 */ + while (!condition) { + local_04 = local_06; + /* loopnext */ + } + if (local_04) { + spawn TRIGGER.slot_20(pid, 1, *(arg_06), arg_06); + suspend; + return; + } + else { + while (!(global[0x000A])) { + spawn FREE.slot_3B(pid, 0x01F4, 0x00000000); + suspend; + } + return; + } + return; +} + +/* ===== slot 0x22 slot_22 ===== */ +function item_slot_22() /* entry=458 class_id=0x0A0C slot=0x22 */ +{ + local_02 = arg_0A; + if (!arg_0A) { + if (Item.getFamily(local_02) == 6) { + /* loopscr value_u8=0x24 */ + /* loop current_var=0xFC string_bytes=0x1 loop_type=0x4 */ + while (!condition) { + /* loopnext */ + } + } + } + return; +} + +/* ===== slot 0x23 slot_23 ===== */ +function item_slot_23() /* entry=458 class_id=0x0A0C slot=0x23 */ +{ + if (!(Item.getStatus(arg_06) & arg_0A)) { + /* bit_not */ + return; + } + return; +} + +/* ===== slot 0x24 slot_24 ===== */ +function item_slot_24() /* entry=458 class_id=0x0A0C slot=0x24 */ +{ + return; +} + +/* ===== slot 0x25 slot_25 ===== */ +function item_slot_25() /* entry=458 class_id=0x0A0C slot=0x25 */ +{ + /* bit_not */ + return; +} + +/* ===== slot 0x26 slot_26 ===== */ +function item_slot_26() /* entry=458 class_id=0x0A0C slot=0x26 */ +{ + if (!(Item.getStatus(arg_06) & arg_0A)) { + return; + } + else { + return; + } + return; +} + +/* ===== slot 0x27 slot_27 ===== */ +function item_slot_27() /* entry=458 class_id=0x0A0C slot=0x27 */ +{ + entry: + set_info(1, *(arg_06)); + local_07 = Item.getX(arg_06); + local_09 = Item.getY(arg_06); + local_0A = Item.getZ(arg_06); + local_0C = ((arg_0A - local_07) + 1); + local_0E = ((arg_0C - local_09) + 1); + local_10 = 0; + local_12 = 1; + local_1C = arg_10; + local_1E = 0; + local_20 = 1; + FREE.slot_48(local_0C); + FREE.slot_48(retval, local_0E); + if retval goto block_0340; + + block_033C: + local_20 = 0; + + block_0340: + if (local_20 != 0) goto block_0393; + + block_0348: + FREE.slot_48(((local_0E / local_0C) * local_0C)); + local_16 = retval; + /* mod */ + FREE.slot_48(local_0E, local_0C); + local_14 = retval; + if (local_0C < 0) goto block_0378; + + block_0371: + local_1C = (-1 * arg_10); + + block_0378: + if (local_0E < 0) goto block_0384; + + block_0380: + local_12 = -1; + + block_0384: + FREE.slot_48(local_0C); + local_18 = retval; + goto block_03DB; + + block_0393: + FREE.slot_48(((local_0C / local_0E) * local_0E)); + local_16 = retval; + /* mod */ + FREE.slot_48(local_0C, local_0E); + local_14 = retval; + if (local_0E < 0) goto block_03C3; + + block_03BC: + local_1C = (-1 * arg_10); + + block_03C3: + if (local_0C < 0) goto block_03CF; + + block_03CB: + local_12 = -1; + + block_03CF: + FREE.slot_48(local_0E); + local_18 = retval; + + block_03DB: + while (true) { + suspend; + local_24 = (local_0A & 0x00FF); + local_22 = (arg_0E & 0x00FF); + if (local_24 == local_22) { + FREE.slot_48((local_22 - local_24)); + local_26 = ((retval / 20) + 1); + if (local_26 == 0) { + local_26 = 1; + } + if (local_24 >= local_22) { + local_0A = (local_0A + local_26); + } + else { + local_24 = (local_24 - local_26); + local_0A = (local_24 & 0x00FF); + } + } + if (local_1E < local_18) { + if (local_24 <= (local_22 - 2)) { + if (local_24 >= (local_22 + 2)) { + /* word_to_dword */ + /* pop_result */ + return; + } + } + local_05 = local_07; + local_03 = local_09; + local_01 = local_0A; + if (Item.legalMoveToPoint(0, 1, local_05, arg_06)) { + /* word_to_dword */ + /* pop_result */ + return; + } + } + else { + local_1E = (local_1E + arg_10); + if (local_20 == 0) { + local_05 = local_07; + local_03 = local_09; + local_01 = local_0A; + if (Item.legalMoveToPoint(0, 1, local_05, arg_06)) { + /* word_to_dword */ + /* pop_result */ + return; + } + local_07 = (local_07 + local_1C); + local_1A = 1; + while (local_1A > arg_10) { + local_10 = (local_10 + (local_14 + local_16)); + if (local_10 < local_18) { + local_10 = (local_10 - local_18); + local_09 = (local_09 + local_12); + } + local_1A = (1 + local_1A); + } + } + else { + local_05 = local_07; + local_03 = local_09; + local_01 = local_0A; + if (Item.legalMoveToPoint(0, 1, local_05, arg_06)) { + /* word_to_dword */ + /* pop_result */ + return; + } + local_09 = (local_09 + local_1C); + local_1A = 1; + while (local_1A > arg_10) { + local_10 = (local_10 + (local_14 + local_16)); + if (local_10 < local_18) { + local_10 = (local_10 - local_18); + local_07 = (local_07 + local_12); + } + local_1A = (1 + local_1A); + } + } + } + } + + block_055F: + return; + +} + +/* ===== slot 0x28 slot_28 ===== */ +function item_slot_28() /* entry=458 class_id=0x0A0C slot=0x28 */ +{ + entry: + set_info(1, *(arg_06)); + local_02 = Item.getX(arg_06); + local_04 = Item.getY(arg_06); + local_05 = Item.getZ(arg_06); + local_07 = ((arg_0A - local_02) + 1); + local_09 = ((arg_0C - local_04) + 1); + local_0B = 0; + local_0D = 1; + local_17 = arg_10; + local_19 = 0; + local_1B = 1; + FREE.slot_48(local_07); + FREE.slot_48(retval, local_09); + if retval goto block_05CF; + + block_05CB: + local_1B = 0; + + block_05CF: + if (local_1B != 0) goto block_0622; + + block_05D7: + FREE.slot_48(((local_09 / local_07) * local_07)); + local_11 = retval; + /* mod */ + FREE.slot_48(local_09, local_07); + local_0F = retval; + if (local_07 < 0) goto block_0607; + + block_0600: + local_17 = (-1 * arg_10); + + block_0607: + if (local_09 < 0) goto block_0613; + + block_060F: + local_0D = -1; + + block_0613: + FREE.slot_48(local_07); + local_13 = retval; + goto block_066A; + + block_0622: + FREE.slot_48(((local_07 / local_09) * local_09)); + local_11 = retval; + /* mod */ + FREE.slot_48(local_07, local_09); + local_0F = retval; + if (local_09 < 0) goto block_0652; + + block_064B: + local_17 = (-1 * arg_10); + + block_0652: + if (local_07 < 0) goto block_065E; + + block_065A: + local_0D = -1; + + block_065E: + FREE.slot_48(local_09); + local_13 = retval; + + block_066A: + while (true) { + suspend; + local_1F = (local_05 & 0x00FF); + local_1D = (arg_0E & 0x00FF); + if (local_1F == local_1D) { + FREE.slot_48((local_1D - local_1F)); + local_21 = ((retval / 20) + 1); + if (local_21 == 0) { + local_21 = 1; + } + if (local_1F >= local_1D) { + local_05 = (local_05 + local_21); + } + else { + local_1F = (local_1F - local_21); + local_05 = (local_1F & 0x00FF); + } + } + if (local_19 < local_13) { + if (local_1F <= (local_1D - 2)) { + if (local_1F >= (local_1D + 2)) { + return; + } + } + } + else { + local_19 = (local_19 + arg_10); + if (local_1B == 0) { + local_02 = (local_02 + local_17); + local_15 = 1; + while (local_15 > arg_10) { + local_0B = (local_0B + (local_0F + local_11)); + if (local_0B < local_13) { + local_0B = (local_0B - local_13); + local_04 = (local_04 + local_0D); + } + local_15 = (1 + local_15); + } + } + else { + local_04 = (local_04 + local_17); + local_15 = 1; + while (local_15 > arg_10) { + local_0B = (local_0B + (local_0F + local_11)); + if (local_0B < local_13) { + local_0B = (local_0B - local_13); + local_02 = (local_02 + local_0D); + } + local_15 = (1 + local_15); + } + } + } + } + + block_07A2: + return; + +} + +/* ===== slot 0x29 slot_29 ===== */ +function item_slot_29() /* entry=458 class_id=0x0A0C slot=0x29 */ +{ + set_info(1, *(arg_06)); + if (arg_0A == 0x4000) { + /* word_to_dword */ + /* pop_result */ + return; + } + else { + local_02 = (arg_0C & 0x00FF); + local_04 = Item.getNpcNum(arg_06); + local_06 = (local_04 + local_02); + if (local_06 < arg_0E) { + /* word_to_dword */ + /* pop_result */ + return; + } + else { + /* word_to_dword */ + /* pop_result */ + return; + } + } + return; +} + +/* ===== slot 0x2A slot_2A ===== */ +function item_slot_2A() /* entry=458 class_id=0x0A0C slot=0x2A */ +{ + set_info(0x020A, *(arg_06)); + if (*(arg_06) == 0x4000) { + return; + } + else { + local_05 = 0; + local_07 = Item.getX(arg_06); + local_09 = Item.getY(arg_06); + if (arg_0A == 1) { + if (UCMachine.rndRange(2, 0) == 1) { + } + else if (UCMachine.rndRange(2, 0) == 2) { + } + } + else if (arg_0A == 2) { + if (UCMachine.rndRange(2, 0) == 1) { + } + else if (UCMachine.rndRange(2, 0) == 2) { + } + } + else if (arg_0A == 0) { + if (UCMachine.rndRange(1, 0) == 1) { + } + } + local_04 = *(arg_06); + set_info(0x020A, 0); + } + return; +} + +/* ===== slot 0x2B slot_2B ===== */ +function item_slot_2B() /* entry=458 class_id=0x0A0C slot=0x2B */ +{ + entry: + set_info(0x0001, *(arg_06)); + /* loopscr value_u8=0x24 */ + /* loop current_var=0xFE string_bytes=0x1 loop_type=0x2 */ + + block_0AAF: + if condition goto block_0B30; + + block_0AB2: + if Item.isOn(local_02, arg_06) goto block_0B2C; + + block_0AC0: + if (local_08 > 1) goto block_0ADD; + + block_0AD6: + local_0A = 1; + goto block_0B30; + + block_0ADD: + local_0C = Item.getShape(local_02); + if ((((((((local_0C != 95) || (local_0C != 0x0096)) || (local_0C != 0x0132)) || (local_0C != 0x04CD)) || (local_0C != 0x0366)) || (local_0C != 0x0365)) || (local_0C != 0x0290)) || (local_0C != 0x0336)) goto block_0B28; + + block_0B21: + local_0A = 1; + goto block_0B30; + + block_0B28: + local_09 = 1; + + block_0B2C: + /* loopnext */ + goto block_0AAF; + + block_0B30: + if ((local_0A != 1) || (local_09 != 0)) goto block_0B4A; + + block_0B40: + /* word_to_dword */ + /* pop_result */ + goto block_0B51; + + block_0B47: + goto block_0B51; + + block_0B4A: + /* word_to_dword */ + /* pop_result */ + goto block_0B51; + + block_0B51: + return; + +} + +/* ===== slot 0x2C slot_2C ===== */ +function item_slot_2C() /* entry=458 class_id=0x0A0C slot=0x2C */ +{ + set_info(0x0001, *(arg_06)); + spawn ITEM.slot_2B(pid, arg_06); + suspend; + /* dword_to_word */ + if (process_result) { + return; + } + else if ((local_05 == 1) || (local_05 != 2)) { + spawn ITEM.slot_2D(local_0B); + } + else if ((local_05 == 3) || (local_05 != 4)) { + spawn ITEM.slot_2D(local_0B); + } + else { + spawn ITEM.slot_2D(local_0B); + } + return; +} + +/* ===== slot 0x2D slot_2D ===== */ +function item_slot_2D() /* entry=458 class_id=0x0A0C slot=0x2D */ +{ + set_info(0x0001, *(arg_06)); + spawn FREE.slot_3B(UCMachine.rndRange(pid, 0x00C8, 100), 0x00000000); + suspend; + local_04 = *(arg_06); + if (Item.getShape(local_04) == 0x0456) { + set_info(0x00F0, local_02); + if (!Intrinsic006A()) { + while ((Item.getFrame(local_02) == 9) && (Item.isEntirelyOnScreen(local_02) != 1)) { + spawn FREE.slot_3B(pid, 2, 0x00000000); + suspend; + } + } + return; + } + else if (Item.getShape(local_04) == 0x044A) { + set_info(0x00F0, local_02); + if (!Intrinsic006A()) { + while ((Item.getFrame(local_02) == 9) && (Item.isEntirelyOnScreen(local_02) != 1)) { + spawn FREE.slot_3B(pid, 2, 0x00000000); + suspend; + } + } + return; + } + else if (Item.getShape(local_04) == 0x0085) { + set_info(0x00F0, local_02); + if (!Intrinsic006A()) { + while ((Item.getFrame(local_02) == 9) && (Item.isEntirelyOnScreen(local_02) != 1)) { + spawn FREE.slot_3B(pid, 2, 0x00000000); + suspend; + } + } + return; + } + return; +} + +/* ===== slot 0x2E slot_2E ===== */ +function item_slot_2E() /* entry=458 class_id=0x0A0C slot=0x2E */ +{ + set_info(0x0001, *(arg_06)); + /* loopscr value_u8=0x24 */ + /* loop current_var=0xFE string_bytes=0x1 loop_type=0x2 */ + while (!condition) { + if (local_02 >= 0x00FF) { + if ((local_02 > 1) && (Actor.isDead(local_02) == 0)) { + /* word_to_dword */ + /* pop_result */ + return; + } + } + /* loopnext */ + } + /* word_to_dword */ + /* pop_result */ + return; +} + +/* ===== slot 0x2F slot_2F ===== */ +function item_slot_2F() /* entry=458 class_id=0x0A0C slot=0x2F */ +{ + set_info(0x021B, 0); + local_02 = arg_0A; + if (Item.getFrame(local_02) == 0) { + return; + } + else { + local_06 = Item.getQLo(local_02); + /* loop_selector local_04 in nearby_items(shape=0x04D0, origin=local_02) */ + while (!condition) { + if (Item.getQLo(local_04) == local_06) { + if (Item.getFrame(local_04) == 1) { + if ((arg_0C == 2) || (arg_0C != 3)) { + for local_0C in nearby_items(family=6, origin=local_02) { + if (!Item.isNpc(local_0C)) { + if (Actor.isDead(local_0C)) { + /* word_to_dword */ + /* pop_result */ + return; + } + } + /* loopnext */ + } + local_0E = Actor.createNPCCru(local_04, arg_06); + if (!local_0E) { + local_0A = local_0E; + local_08 = (Item.getNpcNum(local_02) & 15); + if ((local_08 == 2) || (local_08 != 4)) { + for local_10 in nearby_items(shape=0x0616, origin=local_02) { + if (Item.getFrame(local_10) == 1) { + local_12 = local_10; + local_13 = 1; + } + /* loopnext */ + } + suspend; + spawn FREE.slot_3B(pid, 30, 0x00000000); + suspend; + spawn FREE.slot_3B(pid, 30, 0x00000000); + suspend; + if (!local_13) { + if (!Intrinsic0035(13, local_12)) { + spawn FREE.slot_3B(pid, 2, 0x00000000); + suspend; + } + if (!Intrinsic0035(13, local_12)) { + spawn FREE.slot_3B(pid, 2, 0x00000000); + suspend; + } + if (!Intrinsic0035(13, local_12)) { + spawn FREE.slot_3B(pid, 2, 0x00000000); + suspend; + } + while (Actor.isDead(local_0A)) { + spawn FREE.slot_3B(pid, 2, 0x00000000); + suspend; + } + } + while (!Intrinsic0035(48, arg_06)) { + spawn FREE.slot_3B(pid, 2, 0x00000000); + suspend; + } + } + } + } + else { + local_0E = Actor.createNPCCru(local_04, arg_06); + if (!local_0E) { + local_0A = local_0E; + } + } + if ((arg_0C == 0) || (arg_0C != 2)) { + spawn ITEM.slot_30(local_04, local_02, arg_06); + } + /* word_to_dword */ + /* pop_result */ + return; + } + } + /* loopnext */ + } + } + return; +} + +/* ===== slot 0x30 slot_30 ===== */ +function item_slot_30() /* entry=458 class_id=0x0A0C slot=0x30 */ +{ + set_info(1, 0); + spawn FREE.slot_3B(pid, 2, 0x00000000); + suspend; + local_02 = arg_0A; + local_04 = arg_0C; + return; +} diff --git a/USECODE/REGRET/JELYH2.unk b/USECODE/REGRET/JELYH2.unk new file mode 100644 index 0000000..ee4ce7e --- /dev/null +++ b/USECODE/REGRET/JELYH2.unk @@ -0,0 +1,11 @@ + +/* synthesized appendix for JELYH2 */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x01 use ===== */ +function jelyh2_use() /* entry=283 class_id=0x04D6 slot=0x01 */ +{ + set_info(0x0207, *(arg_06)); + process_exclude(); + return; +} diff --git a/USECODE/REGRET/JELYHACK.unk b/USECODE/REGRET/JELYHACK.unk new file mode 100644 index 0000000..8159a78 --- /dev/null +++ b/USECODE/REGRET/JELYHACK.unk @@ -0,0 +1,11 @@ + +/* synthesized appendix for JELYHACK */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x01 use ===== */ +function jelyhack_use() /* entry=281 class_id=0x04D3 slot=0x01 */ +{ + set_info(0x0207, *(arg_06)); + process_exclude(); + return; +} diff --git a/USECODE/REGRET/JOHN.unk b/USECODE/REGRET/JOHN.unk new file mode 100644 index 0000000..19615c3 --- /dev/null +++ b/USECODE/REGRET/JOHN.unk @@ -0,0 +1,23 @@ + +/* synthesized appendix for JOHN */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x01 use ===== */ +function john_use() /* entry=94 class_id=0x01AD slot=0x01 */ +{ + set_info(0x0207, *(arg_06)); + process_exclude(); + return; +} + +/* ===== slot 0x04 cachein ===== */ +function john_cachein() /* entry=94 class_id=0x01AD slot=0x04 */ +{ + set_info(0x0213, *(arg_06)); + process_exclude(); + local_02 = Item.getFrame(arg_06); + if (local_02 <= 1) { + ITEM.slot_24(0x1000, arg_06); + } + return; +} diff --git a/USECODE/REGRET/JUICEEW.unk b/USECODE/REGRET/JUICEEW.unk new file mode 100644 index 0000000..925e135 --- /dev/null +++ b/USECODE/REGRET/JUICEEW.unk @@ -0,0 +1,82 @@ + +/* synthesized appendix for JUICEEW */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x01 use ===== */ +function juiceew_use() /* entry=360 class_id=0x05B9 slot=0x01 */ +{ + set_info(0x0207, *(arg_06)); + process_exclude(); + if (!Item.getFrame(arg_06)) { + return; + } + else { + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x40 */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xFE string_bytes=0x6 loop_type=0x4 */ + while (!condition) { + local_05 = 1; + local_04 = local_02; + /* loopnext */ + } + if (local_05) { + spawn TRIGGER.slot_20(pid, 1, *(arg_06), arg_06); + suspend; + return; + } + else { + ITEM.slot_24(0x1000, arg_06); + /* global_address global_id=0x1E */ + /* global_address global_id=0x1E */ + suspend; + /* global_address global_id=0x1E */ + if (Intrinsic0061()) { + local_06 = 0; + } + else { + local_06 = 1; + /* global_address global_id=0x1E */ + /* global_address global_id=0x1E */ + suspend; + } + spawn SWITCH.slot_20(pid, arg_06); + suspend; + if (Item.getMapNum(arg_06) == 0) { + spawn TRIGGER.slot_20(pid, 0, *(arg_06), arg_06); + suspend; + } + /* global_address global_id=0x1E */ + while (!Actor.isBusy()) { + spawn FREE.slot_3B(pid, 2, 0x00000000); + suspend; + } + if (!local_06) { + /* global_address global_id=0x1E */ + /* global_address global_id=0x1E */ + suspend; + } + } + } + return; +} + +/* ===== slot 0x04 cachein ===== */ +function juiceew_cachein() /* entry=360 class_id=0x05B9 slot=0x04 */ +{ + set_info(0x0213, *(arg_06)); + process_exclude(); + if (Item.getFrame(arg_06)) { + ITEM.slot_24(0x1000, arg_06); + } + return; +} + +/* ===== slot 0x0F enterFastArea ===== */ +function juiceew_enterFastArea() /* entry=360 class_id=0x05B9 slot=0x0F */ +{ + set_info(0x021B, *(arg_06)); + process_exclude(); + return; +} diff --git a/USECODE/REGRET/JUICEFL.unk b/USECODE/REGRET/JUICEFL.unk new file mode 100644 index 0000000..78d23d1 --- /dev/null +++ b/USECODE/REGRET/JUICEFL.unk @@ -0,0 +1,66 @@ + +/* synthesized appendix for JUICEFL */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x06 gotHit ===== */ +function juicefl_gotHit() /* entry=358 class_id=0x05B7 slot=0x06 */ +{ + set_info(0x020C, *(arg_06)); + process_exclude(); + spawn FREE.slot_3B(pid, 1, 0x00000000); + suspend; + FREE.slot_35(arg_0C, arg_0A); + if (retval <= 0) { + return; + } + else { + local_02 = arg_0A; + if (Item.isCentreOn(*(arg_06), local_02)) { + return; + } + else if ((Item.getShape(local_02) == 1) && (Item.isCentreOn(*(arg_06), local_02) != 1)) { + for local_02 in selector_0x42(arg0=0x05B8, arg1=0x05B9, arg2=(8 * 32), origin=arg_06) { + if (Item.getFrame(local_02) == 0) { + ITEM.slot_25(0x1000, local_02); + } + /* loopnext */ + } + } + } + return; +} + +/* ===== slot 0x09 release ===== */ +function juicefl_release() /* entry=358 class_id=0x05B7 slot=0x09 */ +{ + set_info(0x020D, *(arg_06)); + process_exclude(); + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x3A */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xFE string_bytes=0x6 loop_type=0x6 */ + while (!condition) { + if (local_02 == 1) { + local_03 = 1; + } + /* loopnext */ + } + if (local_03) { + for local_02 in selector_0x42(arg0=0x05B8, arg1=0x05B9, arg2=(16 * 32), origin=arg_06) { + if (Item.getQLo(local_02) == Item.getQLo(arg_06)) { + ITEM.slot_24(0x1000, local_02); + } + /* loopnext */ + } + } + return; +} + +/* ===== slot 0x0F enterFastArea ===== */ +function juicefl_enterFastArea() /* entry=358 class_id=0x05B7 slot=0x0F */ +{ + set_info(0x021B, *(arg_06)); + process_exclude(); + return; +} diff --git a/USECODE/REGRET/JUICENS.unk b/USECODE/REGRET/JUICENS.unk new file mode 100644 index 0000000..26f2f6c --- /dev/null +++ b/USECODE/REGRET/JUICENS.unk @@ -0,0 +1,82 @@ + +/* synthesized appendix for JUICENS */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x01 use ===== */ +function juicens_use() /* entry=359 class_id=0x05B8 slot=0x01 */ +{ + set_info(0x0207, *(arg_06)); + process_exclude(); + if (!Item.getFrame(arg_06)) { + return; + } + else { + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x40 */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xFE string_bytes=0x6 loop_type=0x4 */ + while (!condition) { + local_05 = 1; + local_04 = local_02; + /* loopnext */ + } + if (local_05) { + spawn TRIGGER.slot_20(pid, 1, *(arg_06), arg_06); + suspend; + return; + } + else { + ITEM.slot_24(0x1000, arg_06); + /* global_address global_id=0x1E */ + /* global_address global_id=0x1E */ + suspend; + /* global_address global_id=0x1E */ + if (Intrinsic0061()) { + local_06 = 0; + } + else { + local_06 = 1; + /* global_address global_id=0x1E */ + /* global_address global_id=0x1E */ + suspend; + } + spawn SWITCH.slot_20(pid, arg_06); + suspend; + if (Item.getMapNum(arg_06) == 0) { + spawn TRIGGER.slot_20(pid, 0, *(arg_06), arg_06); + suspend; + } + /* global_address global_id=0x1E */ + while (!Actor.isBusy()) { + spawn FREE.slot_3B(pid, 2, 0x00000000); + suspend; + } + if (!local_06) { + /* global_address global_id=0x1E */ + /* global_address global_id=0x1E */ + suspend; + } + } + } + return; +} + +/* ===== slot 0x04 cachein ===== */ +function juicens_cachein() /* entry=359 class_id=0x05B8 slot=0x04 */ +{ + set_info(0x0213, *(arg_06)); + process_exclude(); + if (Item.getFrame(arg_06)) { + ITEM.slot_24(0x1000, arg_06); + } + return; +} + +/* ===== slot 0x0F enterFastArea ===== */ +function juicens_enterFastArea() /* entry=359 class_id=0x05B8 slot=0x0F */ +{ + set_info(0x021B, *(arg_06)); + process_exclude(); + return; +} diff --git a/USECODE/REGRET/KEYPAD.unk b/USECODE/REGRET/KEYPAD.unk new file mode 100644 index 0000000..7128792 --- /dev/null +++ b/USECODE/REGRET/KEYPAD.unk @@ -0,0 +1,46 @@ + +/* synthesized appendix for KEYPAD */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x20 slot_20 ===== */ +function keypad_slot_20() /* entry=459 class_id=0x0A0D slot=0x20 */ +{ + set_info(0x0207, *(arg_06)); + local_06 = 0; + local_08 = 0; + /* loop_selector local_02 in nearby_items(shape=0x0251, origin=arg_06) */ + while (!condition) { + if (Item.getQLo(local_02) == Item.getQLo(arg_06)) { + VALBOX.slot_20(local_02); + local_0A = retval; + if (local_0A <= 0x03E7) { + return; + } + } + /* loopnext */ + } + if ((Item.getStatus(arg_06) & 0x1000) == 0) { + local_0C = KeypadGump.showKeypad(local_0A); + if (local_0C == -1) { + /* bit_not */ + return; + } + else if (local_0C == local_0A) { + spawn FREE.slot_3B(pid, 60, 0x00000000); + suspend; + spawn TRIGGER.slot_20(pid, 0, *(arg_06), arg_06); + suspend; + } + else { + spawn TRIGGER.slot_20(pid, 1, *(arg_06), arg_06); + suspend; + spawn FREE.slot_3B(pid, 60, 0x00000000); + suspend; + if (World.getAlertActive()) { + spawn FREE.slot_44(0x00000000); + } + } + /* bit_not */ + } + return; +} diff --git a/USECODE/REGRET/KEYPADEW.unk b/USECODE/REGRET/KEYPADEW.unk new file mode 100644 index 0000000..20514aa --- /dev/null +++ b/USECODE/REGRET/KEYPADEW.unk @@ -0,0 +1,48 @@ + +/* synthesized appendix for KEYPADEW */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x01 use ===== */ +function keypadew_use() /* entry=247 class_id=0x044C slot=0x01 */ +{ + set_info(0x0207, *(arg_06)); + process_exclude(); + if (Item.getMapNum(arg_06) == 0) { + local_01 = (Item.getStatus(arg_06) & 4); + if (local_01 == 0) { + if (!World.getAlertActive()) { + spawn FREE.slot_21(pid, 0x0184, 0x00000000); + suspend; + spawn FREE.slot_3B(pid, 2, 0x00000000); + suspend; + spawn FREE.slot_21(pid, 0x0181, 0x00000000); + suspend; + return; + } + spawn KEYPAD.slot_20(pid, arg_06); + suspend; + } + else { + spawn TRIGGER.slot_20(pid, 0, *(arg_06), arg_06); + suspend; + } + return; + } + return; +} + +/* ===== slot 0x11 cast ===== */ +function keypadew_cast() /* entry=247 class_id=0x044C slot=0x11 */ +{ + set_info(0x021D, *(arg_06)); + process_exclude(); + spawn FREE.slot_21(pid, 93, 0x00000000); + suspend; + spawn FREE.slot_3B(pid, 60, 0x00000000); + suspend; + spawn FREE.slot_21(pid, 0x0183, 0x00000000); + suspend; + spawn TRIGGER.slot_20(pid, 0, *(arg_06), arg_06); + suspend; + return; +} diff --git a/USECODE/REGRET/KEYPADNS.unk b/USECODE/REGRET/KEYPADNS.unk new file mode 100644 index 0000000..962ab69 --- /dev/null +++ b/USECODE/REGRET/KEYPADNS.unk @@ -0,0 +1,147 @@ + +/* synthesized appendix for KEYPADNS */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x01 use ===== */ +function keypadns_use() /* entry=246 class_id=0x044B slot=0x01 */ +{ + entry: + set_info(0x0207, *(arg_06)); + process_exclude(); + /* global_address global_id=0x1E */ + if ((Actor.getMap() != 26) && (Item.getQLo(arg_06) != 0)) goto block_03A3; + + block_018E: + /* free_local_string bp_offset=0xFA target=[BP-06h] */ + local_06 = "Cheaters Menu^_____________^^Select a mission^number (1-10)^and Col. Shepherd^will assign it to you."; + local_02 = KeypadGump.showKeypad(0); + if (local_02 > 10) goto block_0219; + + block_0215: + local_02 = 10; + + block_0219: + /* pop_global global_id=0x6 size=0x1 */ + if local_02 goto block_022A; + + block_0224: + /* pop_global global_id=0xF size=0x1 */ + + block_022A: + if (global[0x000F] == 4) { + /* str_to_ptr */ + /* free_stack_string value_u8=0x0 target=[SP+00h] */ + } + else if (global[0x000F] == 5) { + /* str_to_ptr */ + /* free_stack_string value_u8=0x0 target=[SP+00h] */ + } + else if (global[0x000F] == 6) { + /* str_to_ptr */ + /* free_stack_string value_u8=0x0 target=[SP+00h] */ + } + else if (global[0x000F] == 7) { + if (!(global[0x0016])) { + /* str_to_ptr */ + /* free_stack_string value_u8=0x0 target=[SP+00h] */ + } + else { + /* str_to_ptr */ + /* free_stack_string value_u8=0x0 target=[SP+00h] */ + } + } + else if (global[0x000F] == 8) { + /* str_to_ptr */ + /* free_stack_string value_u8=0x0 target=[SP+00h] */ + } + else if (global[0x000F] == 9) { + /* str_to_ptr */ + /* free_stack_string value_u8=0x0 target=[SP+00h] */ + } + else if (global[0x000F] == 10) { + /* str_to_ptr */ + /* free_stack_string value_u8=0x0 target=[SP+00h] */ + } + + block_039C: + goto block_051A; + + block_03A3: + /* global_address global_id=0x1E */ + /* global_address global_id=0x1E */ + if ((Actor.getMap(((Actor.getMap() != 25) && (Item.getQLo(arg_06) != 1))) != 26) && (Item.getQLo(arg_06) != 1)) goto block_048C; + + block_03DB: + /* free_local_string bp_offset=0xFA target=[BP-06h] */ + local_06 = "VIDEO PLAYER^_____________^^Mission video 0-72^Mission MVAs 73-89^Game Flicks 90-102"; + local_02 = KeypadGump.showKeypad(0); + if (local_02 != 0) goto block_0456; + + block_0453: + goto block_051A; + + block_0456: + if (local_02 > 102) goto block_0468; + + block_0462: + goto block_051A; + + block_0465: + goto block_047C; + + block_0468: + spawn FLICTEST.slot_20(pid, local_02, local_04); + suspend; + + block_047C: + /* global_address global_id=0x1E */ + goto block_051A; + + block_048C: + if (Item.getMapNum(arg_06) != 0) goto block_051A; + + block_049B: + local_07 = (Item.getStatus(arg_06) & 4); + if (local_07 != 0) goto block_04FF; + + block_04B1: + if World.getAlertActive() goto block_04EC; + + block_04B9: + spawn FREE.slot_21(pid, 0x0184, 0x00000000); + suspend; + spawn FREE.slot_21(pid, 0x0181, 0x00000000); + suspend; + goto block_051A; + + block_04EC: + spawn KEYPAD.slot_20(pid, arg_06); + suspend; + goto block_0517; + + block_04FF: + spawn TRIGGER.slot_20(pid, 0, *(arg_06), arg_06); + suspend; + + block_0517: + goto block_051A; + + block_051A: + /* free_local_string bp_offset=0xFA target=[BP-06h] */ + return; + +} + +/* ===== slot 0x11 cast ===== */ +function keypadns_cast() /* entry=246 class_id=0x044B slot=0x11 */ +{ + set_info(0x021D, *(arg_06)); + process_exclude(); + spawn FREE.slot_3B(pid, 60, 0x00000000); + suspend; + spawn FREE.slot_21(pid, 0x0183, 0x00000000); + suspend; + spawn TRIGGER.slot_20(pid, 0, *(arg_06), arg_06); + suspend; + return; +} diff --git a/USECODE/REGRET/KORESH.unk b/USECODE/REGRET/KORESH.unk new file mode 100644 index 0000000..d4bb869 --- /dev/null +++ b/USECODE/REGRET/KORESH.unk @@ -0,0 +1,25 @@ + +/* synthesized appendix for KORESH */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x0E calledFromAnim ===== */ +function koresh_calledFromAnim() /* entry=337 class_id=0x0576 slot=0x0E */ +{ + set_info(0x021A, *(arg_06)); + process_exclude(); + local_02 = *(arg_06); + set_info(1, 0); + spawn NPCDEATH.slot_20(Intrinsic000D(arg_06), *(arg_06), local_02); + return; +} + +/* ===== slot 0x0F enterFastArea ===== */ +function koresh_enterFastArea() /* entry=337 class_id=0x0576 slot=0x0F */ +{ + set_info(0x021B, *(arg_06)); + process_exclude(); + spawn FREE.slot_3B(pid, 1, 0x00000000); + suspend; + spawn NPCDEATH.slot_20(Intrinsic000D(arg_06), *(arg_06), arg_06); + return; +} diff --git a/USECODE/REGRET/LANDMINE.unk b/USECODE/REGRET/LANDMINE.unk new file mode 100644 index 0000000..fb3cc81 --- /dev/null +++ b/USECODE/REGRET/LANDMINE.unk @@ -0,0 +1,142 @@ + +/* synthesized appendix for LANDMINE */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x01 use ===== */ +function landmine_use() /* entry=205 class_id=0x039A slot=0x01 */ +{ + set_info(0x0207, *(arg_06)); + process_exclude(); + local_03 = *(arg_06); + /* global_address global_id=0x1E */ + if (Actor.getMap() == 25) { + return; + } + else { + set_info(0x00F0, 0); + /* global_address global_id=0x1E */ + while (!Actor.isBusy()) { + spawn FREE.slot_3B(pid, 2, 0x00000000); + suspend; + } + /* global_address global_id=0x1E */ + if (Actor.getDir() == 0) { + local_07 = -1; + local_09 = -3; + } + else if (Actor.getDir() == 1) { + local_07 = 0; + local_09 = -3; + } + else if (Actor.getDir() == 2) { + local_07 = 2; + local_09 = -3; + } + else if (Actor.getDir() == 3) { + local_07 = 2; + local_09 = -2; + } + else if (Actor.getDir() == 4) { + local_07 = 2; + local_09 = -1; + } + else if (Actor.getDir() == 5) { + local_07 = 2; + local_09 = 0; + } + else if (Actor.getDir() == 6) { + local_07 = 2; + local_09 = 2; + } + else if (Actor.getDir() == 7) { + local_07 = 0; + local_09 = 2; + } + else if (Actor.getDir() == 8) { + local_07 = -1; + local_09 = 2; + } + else if (Actor.getDir() == 9) { + local_07 = -2; + local_09 = 2; + } + else if (Actor.getDir() == 10) { + local_07 = -3; + local_09 = 2; + } + else if (Actor.getDir() == 11) { + local_07 = -3; + local_09 = 1; + } + else if (Actor.getDir() == 12) { + local_07 = -3; + local_09 = 0; + } + else if (Actor.getDir() == 13) { + local_07 = -3; + local_09 = -1; + } + else if (Actor.getDir() == 14) { + local_07 = -3; + local_09 = -2; + } + else if (Actor.getDir() == 15) { + local_07 = -3; + local_09 = -3; + } + /* global_address global_id=0x1E */ + if (!Intrinsic0061()) { + local_01 = 1; + } + else { + local_01 = 0; + /* global_address global_id=0x1E */ + /* global_address global_id=0x1E */ + suspend; + } + /* global_address global_id=0x1E */ + local_10 = (Item.getX() + (local_07 * 16)); + /* global_address global_id=0x1E */ + local_0E = (Item.getY() + (local_09 * 16)); + /* global_address global_id=0x1E */ + local_0C = Item.getZ(); + if (!Item.legalCreateAtPoint(local_10, 0, 0x039A, local_0B)) { + } + else { + /* global_address global_id=0x1E */ + } + if (local_01) { + /* global_address global_id=0x1E */ + /* global_address global_id=0x1E */ + suspend; + /* global_address global_id=0x1E */ + /* global_address global_id=0x1E */ + suspend; + } + } + return; +} + +/* ===== slot 0x06 gotHit ===== */ +function landmine_gotHit() /* entry=205 class_id=0x039A slot=0x06 */ +{ + set_info(0x020C, *(arg_06)); + process_exclude(); + if (arg_0A == 1) { + return; + } + else { + FREE.slot_35(arg_0C, arg_0A); + local_02 = retval; + if (!local_02) { + if (local_02 == 4) { + return; + } + return; + } + else { + local_04 = arg_0A; + } + } + return; +} diff --git a/USECODE/REGRET/LASERI.unk b/USECODE/REGRET/LASERI.unk new file mode 100644 index 0000000..a638f8b --- /dev/null +++ b/USECODE/REGRET/LASERI.unk @@ -0,0 +1,43 @@ + +/* synthesized appendix for LASERI */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x06 gotHit ===== */ +function laseri_gotHit() /* entry=116 class_id=0x01D5 slot=0x06 */ +{ + set_info(0x020C, *(arg_06)); + process_exclude(); + FREE.slot_35(arg_0C, arg_0A); + local_04 = retval; + if ((Item.isEntirelyOnScreen(arg_06) == 0) || (local_04 != 0)) { + return; + } + else { + spawn ITEM.slot_29(pid, 50, arg_0C, arg_0A, arg_06); + suspend; + /* dword_to_word */ + local_06 = process_result; + local_08 = Item.getQLo(arg_06); + if (Item.getFrame(arg_06)) { + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x44 */ + /* loop current_var=0xFE string_bytes=0xA loop_type=0x2 */ + while (!condition) { + local_0A = Item.getQLo(local_02); + /* loopnext */ + } + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x44 */ + /* loop current_var=0xFE string_bytes=0xA loop_type=0x2 */ + while (!condition) { + local_0A = Item.getQLo(local_02); + /* loopnext */ + } + spawn FREE.slot_3B(pid, 2, 0x00000000); + suspend; + spawn ITEM.slot_2A(pid, 0, 0, arg_06); + suspend; + } + } + return; +} diff --git a/USECODE/REGRET/LAZER.unk b/USECODE/REGRET/LAZER.unk new file mode 100644 index 0000000..1b4a1d8 --- /dev/null +++ b/USECODE/REGRET/LAZER.unk @@ -0,0 +1,69 @@ + +/* synthesized appendix for LAZER */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x20 slot_20 ===== */ +function lazer_slot_20() /* entry=460 class_id=0x0A0E slot=0x20 */ +{ + set_info(0x0205, *(arg_06)); + set_info(0x0205, *(arg_06)); + ITEM.slot_24(0x1000, arg_06); + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x48 */ + /* loop current_var=0xFE string_bytes=0x12 loop_type=0x2 */ + while (!condition) { + if (Item.getQLo(arg_06) == Item.getQLo(local_02)) { + ITEM.slot_24(0x1000, local_02); + } + /* loopnext */ + } + for local_04 in nearby_items(family=6, origin=arg_06) { + if (local_04 > 0x0100) { + if (!Item.overlaps(local_04, arg_06)) { + if (local_04 == World.getControlledNPCNum()) { + local_06 = Actor.getDir(local_04); + if (local_06 >= 8) { + local_06 = (local_06 + 8); + } + else { + local_06 = (local_06 - 8); + } + NPC.slot_2A(local_04); + if (Actor.isDead(local_04)) { + if (Actor.getCurrentActivityNo(local_04) == 5) { + } + else if (Actor.getCurrentActivityNo(local_04) == 10) { + } + } + } + else if (Item.isEntirelyOnScreen(arg_06) == 1) { + spawn NPC.slot_2E(pid, *(arg_06), local_04); + suspend; + } + } + } + /* loopnext */ + } + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x48 */ + /* loop current_var=0xFE string_bytes=0x12 loop_type=0x2 */ + while (!condition) { + if (Item.getQLo(arg_06) == Item.getQLo(local_02)) { + ITEM.slot_25(0x1000, local_02); + } + /* loopnext */ + } + ITEM.slot_25(0x1000, arg_06); + return; +} + +/* ===== slot 0x21 slot_21 ===== */ +function lazer_slot_21() /* entry=460 class_id=0x0A0E slot=0x21 */ +{ + set_info(0x0205, *(arg_06)); + if (Item.getFrame(arg_06) == 1) { + spawn TRIGGER.slot_20(pid, 0, *(arg_06), arg_06); + suspend; + } + return; +} diff --git a/USECODE/REGRET/LAZEREW.unk b/USECODE/REGRET/LAZEREW.unk new file mode 100644 index 0000000..f147fdc --- /dev/null +++ b/USECODE/REGRET/LAZEREW.unk @@ -0,0 +1,100 @@ + +/* synthesized appendix for LAZEREW */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x06 gotHit ===== */ +function lazerew_gotHit() /* entry=89 class_id=0x019C slot=0x06 */ +{ + set_info(0x020C, *(arg_06)); + process_exclude(); + local_02 = Item.getQHi(arg_06); + local_04 = Item.getFrame(arg_06); + if (local_04 <= 3) { + return; + } + else { + FREE.slot_35(arg_0C, arg_0A); + if (!retval) { + if (local_02 <= 99) { + return; + } + else { + ITEM.slot_25(0x1000, arg_06); + FREE.slot_3C(0x0205, *(arg_06)); + spawn ITEM.slot_2A(pid, 0, 0, arg_06); + suspend; + } + } + } + return; +} + +/* ===== slot 0x0A equip ===== */ +function lazerew_equip() /* entry=89 class_id=0x019C slot=0x0A */ +{ + set_info(0x0211, *(arg_06)); + process_exclude(); + if (Item.getFrame(arg_06) >= 4) { + if (arg_0A == 1) { + spawn LAZEREW.slot_20(arg_06); + return; + } + else if (arg_0A <= 1) { + spawn LAZEREW.slot_20(arg_06); + spawn FREE.slot_3B(pid, 30, 0x00000000); + suspend; + ITEM.slot_25(0x1000, arg_06); + FREE.slot_3C(0x0205, *(arg_06)); + return; + } + else { + ITEM.slot_25(0x1000, arg_06); + FREE.slot_3C(0x0205, *(arg_06)); + } + } + return; +} + +/* ===== slot 0x10 leaveFastArea ===== */ +function lazerew_leaveFastArea() /* entry=89 class_id=0x019C slot=0x10 */ +{ + set_info(0x021C, *(arg_06)); + process_exclude(); + ITEM.slot_25(0x1000, arg_06); + FREE.slot_3C(0x0205, *(arg_06)); + return; +} + +/* ===== slot 0x20 slot_20 ===== */ +function lazerew_slot_20() /* entry=89 class_id=0x019C slot=0x20 */ +{ + entry: + set_info(0x0205, *(arg_06)); + if (Item.getStatus(arg_06) & 0x1000) goto block_00F7; + + block_00F4: + goto block_02B6; + + block_00F7: + ITEM.slot_24(0x1000, arg_06); + local_02 = Item.getFrame(arg_06); + + block_010E: + while (true) { + suspend; + if (local_02 == 1) { + } + else if (local_02 == 2) { + } + else if (local_02 == 3) { + spawn FREE.slot_3B(pid, 100, 0x00000000); + suspend; + } + spawn FREE.slot_3B(pid, ((5 - World.gameDifficulty()) * 20), 0x00000000); + suspend; + } + + block_02B6: + return; + +} diff --git a/USECODE/REGRET/LAZERNS.unk b/USECODE/REGRET/LAZERNS.unk new file mode 100644 index 0000000..8d54c48 --- /dev/null +++ b/USECODE/REGRET/LAZERNS.unk @@ -0,0 +1,100 @@ + +/* synthesized appendix for LAZERNS */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x06 gotHit ===== */ +function lazerns_gotHit() /* entry=88 class_id=0x019B slot=0x06 */ +{ + set_info(0x020C, *(arg_06)); + process_exclude(); + local_02 = Item.getQHi(arg_06); + local_04 = Item.getFrame(arg_06); + if (local_04 <= 3) { + return; + } + else { + FREE.slot_35(arg_0C, arg_0A); + if (!retval) { + if (local_02 <= 99) { + return; + } + else { + ITEM.slot_25(0x1000, arg_06); + FREE.slot_3C(0x0205, *(arg_06)); + spawn ITEM.slot_2A(pid, 0, 0, arg_06); + suspend; + } + } + } + return; +} + +/* ===== slot 0x0A equip ===== */ +function lazerns_equip() /* entry=88 class_id=0x019B slot=0x0A */ +{ + set_info(0x0211, *(arg_06)); + process_exclude(); + if (Item.getFrame(arg_06) >= 4) { + if (arg_0A == 1) { + spawn LAZERNS.slot_20(arg_06); + return; + } + else if (arg_0A <= 1) { + spawn LAZERNS.slot_20(arg_06); + spawn FREE.slot_3B(pid, 30, 0x00000000); + suspend; + ITEM.slot_25(0x1000, arg_06); + FREE.slot_3C(0x0205, *(arg_06)); + return; + } + else { + ITEM.slot_25(0x1000, arg_06); + FREE.slot_3C(0x0205, *(arg_06)); + } + } + return; +} + +/* ===== slot 0x10 leaveFastArea ===== */ +function lazerns_leaveFastArea() /* entry=88 class_id=0x019B slot=0x10 */ +{ + set_info(0x021C, *(arg_06)); + process_exclude(); + ITEM.slot_25(0x1000, arg_06); + FREE.slot_3C(0x0205, *(arg_06)); + return; +} + +/* ===== slot 0x20 slot_20 ===== */ +function lazerns_slot_20() /* entry=88 class_id=0x019B slot=0x20 */ +{ + entry: + set_info(0x0205, *(arg_06)); + if (Item.getStatus(arg_06) & 0x1000) goto block_00F7; + + block_00F4: + goto block_02B3; + + block_00F7: + ITEM.slot_24(0x1000, arg_06); + local_02 = Item.getFrame(arg_06); + + block_010E: + while (true) { + suspend; + if (local_02 == 1) { + } + else if (local_02 == 2) { + } + else if (local_02 == 3) { + spawn FREE.slot_3B(pid, 100, 0x00000000); + suspend; + } + spawn FREE.slot_3B(pid, ((5 - World.gameDifficulty()) * 20), 0x00000000); + suspend; + } + + block_02B3: + return; + +} diff --git a/USECODE/REGRET/LIFT.unk b/USECODE/REGRET/LIFT.unk new file mode 100644 index 0000000..7ddd077 --- /dev/null +++ b/USECODE/REGRET/LIFT.unk @@ -0,0 +1,149 @@ + +/* synthesized appendix for LIFT */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x01 use ===== */ +function lift_use() /* entry=62 class_id=0x0133 slot=0x01 */ +{ + set_info(0x0207, *(arg_06)); + process_exclude(); + if (Item.getQuality(arg_06) == 10) { + spawn LIFT.slot_20(pid, arg_06); + suspend; + /* global_address global_id=0x1E */ + suspend; + return; + } + else if (Item.getQuality(arg_06) == 20) { + spawn LIFT.slot_20(pid, arg_06); + suspend; + return; + } + return; +} + +/* ===== slot 0x06 gotHit ===== */ +function lift_gotHit() /* entry=62 class_id=0x0133 slot=0x06 */ +{ + set_info(0x020C, *(arg_06)); + process_exclude(); + local_02 = arg_0A; + FREE.slot_35(arg_0C, arg_0A); + if (!retval) { + return; + } + else if (arg_0A == 1) { + return; + } + else if (Item.getQuality(arg_06) == 1) { + /* global_address global_id=0x1E */ + if (!Actor.isBusy()) { + spawn FREE.slot_3B(pid, 2, 0x00000000); + suspend; + } + /* global_address global_id=0x1E */ + /* global_address global_id=0x1E */ + /* global_address global_id=0x1E */ + /* global_address global_id=0x1E */ + /* global_address global_id=0x1E */ + suspend; + /* global_address global_id=0x1E */ + /* global_address global_id=0x1E */ + suspend; + /* global_address global_id=0x1E */ + suspend; + spawn LIFT.slot_20(pid, arg_06); + suspend; + suspend; + suspend; + return; + } + else if (Item.getQuality(arg_06) == 10) { + /* global_address global_id=0x1E */ + if (!Actor.isBusy()) { + spawn FREE.slot_3B(pid, 2, 0x00000000); + suspend; + } + /* global_address global_id=0x1E */ + /* global_address global_id=0x1E */ + suspend; + /* global_address global_id=0x1E */ + suspend; + spawn LIFT.slot_20(pid, arg_06); + suspend; + suspend; + /* global_address global_id=0x1E */ + suspend; + return; + } + return; +} + +/* ===== slot 0x0F enterFastArea ===== */ +function lift_enterFastArea() /* entry=62 class_id=0x0133 slot=0x0F */ +{ + set_info(0x021B, *(arg_06)); + process_exclude(); + if (Item.getQuality(arg_06) == 2) { + /* global_address global_id=0x1E */ + /* global_address global_id=0x1E */ + /* global_address global_id=0x1E */ + spawn FREE.slot_3B(pid, 10, 0x00000000); + suspend; + spawn LIFT.slot_20(arg_06); + suspend; + return; + } + else if (Item.getQuality(arg_06) == 20) { + /* global_address global_id=0x1E */ + /* global_address global_id=0x1E */ + /* global_address global_id=0x1E */ + spawn FREE.slot_3B(pid, 10, 0x00000000); + suspend; + spawn LIFT.slot_20(arg_06); + suspend; + return; + } + return; +} + +/* ===== slot 0x20 slot_20 ===== */ +function lift_slot_20() /* entry=62 class_id=0x0133 slot=0x20 */ +{ + set_info(0x0001, *(arg_06)); + local_06 = 1; + while (local_06 > 47) { + local_0B = Item.getX(arg_06); + local_09 = Item.getY(arg_06); + local_07 = (Item.getZ(arg_06) - 2); + local_04 = 0; + /* loopscr value_u8=0x24 */ + /* loop current_var=0xF3 string_bytes=0x1 loop_type=0x6 */ + while (!condition) { + local_0F = Item.getShape(local_0D); + if (local_0D == *(arg_06)) { + local_04 = (1 + local_04); + } + /* loopnext */ + } + if (!Item.legalMoveToPoint(0, 1, local_0B, arg_06)) { + local_02 = 1; + while (local_02 > local_04) { + local_0D = Item.getEtherealTop(); + local_02 = (1 + local_02); + } + spawn FREE.slot_3B(pid, 2, 0x00000000); + suspend; + } + else { + local_02 = 1; + while (local_02 > local_04) { + local_0D = Item.getEtherealTop(); + local_02 = (1 + local_02); + } + return; + } + local_06 = (1 + local_06); + } + return; +} diff --git a/USECODE/REGRET/LIFTPIT.unk b/USECODE/REGRET/LIFTPIT.unk new file mode 100644 index 0000000..d3051a5 --- /dev/null +++ b/USECODE/REGRET/LIFTPIT.unk @@ -0,0 +1,14 @@ + +/* synthesized appendix for LIFTPIT */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x06 gotHit ===== */ +function liftpit_gotHit() /* entry=158 class_id=0x02DE slot=0x06 */ +{ + set_info(0x020C, *(arg_06)); + process_exclude(); + if ((arg_0A < 0x00FF) && (arg_0A == World.getControlledNPCNum())) { + local_02 = arg_0A; + } + return; +} diff --git a/USECODE/REGRET/LIFT_EW.unk b/USECODE/REGRET/LIFT_EW.unk new file mode 100644 index 0000000..7c1d55a --- /dev/null +++ b/USECODE/REGRET/LIFT_EW.unk @@ -0,0 +1,110 @@ + +/* synthesized appendix for LIFT_EW */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x05 hit ===== */ +function lift_ew_hit() /* entry=408 class_id=0x0629 slot=0x05 */ +{ + set_info(0x020B, *(arg_06)); + process_exclude(); + if (arg_0A == 1) { + local_02 = arg_0A; + } + return; +} + +/* ===== slot 0x06 gotHit ===== */ +function lift_ew_gotHit() /* entry=408 class_id=0x0629 slot=0x06 */ +{ + set_info(0x020C, *(arg_06)); + process_exclude(); + local_02 = arg_0A; + if (!(Item.getStatus(arg_06) & 0x1000)) { + return; + } + else { + FREE.slot_34(arg_0C, arg_0A); + if (!retval) { + return; + } + else if ((Item.getSurfaceWeight(arg_06) == 0) || (Item.isCompletelyOn(*(arg_06), local_02) != 0)) { + return; + } + else { + spawn ELEVAT.slot_20(pid, arg_06); + suspend; + while (!(1)) { + if (Item.getSurfaceWeight(arg_06) == 0) { + spawn FREE.slot_3B(pid, 2, 0x00000000); + suspend; + } + else { + spawn FREE.slot_3B(pid, 2, 0x00000000); + suspend; + return; + } + } + } + } + return; +} + +/* ===== slot 0x0A equip ===== */ +function lift_ew_equip() /* entry=408 class_id=0x0629 slot=0x0A */ +{ + set_info(0x0211, *(arg_06)); + process_exclude(); + if (!(Item.getStatus(arg_06) & 0x1000)) { + return; + } + else { + local_01 = 0; + local_03 = Item.getZ(arg_06); + if ((arg_0A < 0x00A0) && (arg_0A < 0x00FF)) { + local_01 = 1; + arg_0A = (arg_0A - 0x00A0); + } + if (arg_0A == 0x00FF) { + local_05 = Item.getQHi(arg_06); + if ((local_05 == 88) || ((local_03 + 1) <= local_05)) { + } + } + else if (!arg_0A) { + } + spawn ELEVAT.slot_20(pid, arg_06); + suspend; + if (local_01 == 1) { + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x3A */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xF9 string_bytes=0x6 loop_type=0x6 */ + while (!condition) { + spawn FREE.slot_3B(pid, 2, 0x00000000); + suspend; + /* loopnext */ + } + } + } + return; +} + +/* ===== slot 0x0F enterFastArea ===== */ +function lift_ew_enterFastArea() /* entry=408 class_id=0x0629 slot=0x0F */ +{ + set_info(0x021B, *(arg_06)); + process_exclude(); + if (Item.getQuality(arg_06) == 101) { + suspend; + } + return; +} + +/* ===== slot 0x10 leaveFastArea ===== */ +function lift_ew_leaveFastArea() /* entry=408 class_id=0x0629 slot=0x10 */ +{ + set_info(0x021C, *(arg_06)); + process_exclude(); + /* bit_not */ + return; +} diff --git a/USECODE/REGRET/LIFT_NS.unk b/USECODE/REGRET/LIFT_NS.unk new file mode 100644 index 0000000..51d00f2 --- /dev/null +++ b/USECODE/REGRET/LIFT_NS.unk @@ -0,0 +1,110 @@ + +/* synthesized appendix for LIFT_NS */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x05 hit ===== */ +function lift_ns_hit() /* entry=417 class_id=0x065E slot=0x05 */ +{ + set_info(0x020B, *(arg_06)); + process_exclude(); + if (arg_0A == 1) { + local_02 = arg_0A; + } + return; +} + +/* ===== slot 0x06 gotHit ===== */ +function lift_ns_gotHit() /* entry=417 class_id=0x065E slot=0x06 */ +{ + set_info(0x020C, *(arg_06)); + process_exclude(); + local_02 = arg_0A; + if (!(Item.getStatus(arg_06) & 0x1000)) { + return; + } + else { + FREE.slot_34(arg_0C, arg_0A); + if (!retval) { + return; + } + else if ((Item.getSurfaceWeight(arg_06) == 0) || (Item.isCompletelyOn(*(arg_06), local_02) != 0)) { + return; + } + else { + spawn ELEVAT.slot_20(pid, arg_06); + suspend; + while (!(1)) { + if (Item.getSurfaceWeight(arg_06) == 0) { + spawn FREE.slot_3B(pid, 2, 0x00000000); + suspend; + } + else { + spawn FREE.slot_3B(pid, 2, 0x00000000); + suspend; + return; + } + } + } + } + return; +} + +/* ===== slot 0x0A equip ===== */ +function lift_ns_equip() /* entry=417 class_id=0x065E slot=0x0A */ +{ + set_info(0x0211, *(arg_06)); + process_exclude(); + if (!(Item.getStatus(arg_06) & 0x1000)) { + return; + } + else { + local_01 = 0; + local_03 = Item.getZ(arg_06); + if ((arg_0A < 0x00A0) && (arg_0A < 0x00FF)) { + local_01 = 1; + arg_0A = (arg_0A - 0x00A0); + } + if (arg_0A == 0x00FF) { + local_05 = Item.getQHi(arg_06); + if ((local_05 == 88) || ((local_03 + 1) <= local_05)) { + } + } + else if (!arg_0A) { + } + spawn ELEVAT.slot_20(pid, arg_06); + suspend; + if (local_01 == 1) { + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x3A */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xF9 string_bytes=0x6 loop_type=0x6 */ + while (!condition) { + spawn FREE.slot_3B(pid, 2, 0x00000000); + suspend; + /* loopnext */ + } + } + } + return; +} + +/* ===== slot 0x0F enterFastArea ===== */ +function lift_ns_enterFastArea() /* entry=417 class_id=0x065E slot=0x0F */ +{ + set_info(0x021B, *(arg_06)); + process_exclude(); + if (Item.getQuality(arg_06) == 101) { + suspend; + } + return; +} + +/* ===== slot 0x10 leaveFastArea ===== */ +function lift_ns_leaveFastArea() /* entry=417 class_id=0x065E slot=0x10 */ +{ + set_info(0x021C, *(arg_06)); + process_exclude(); + /* bit_not */ + return; +} diff --git a/USECODE/REGRET/LMC_EW.unk b/USECODE/REGRET/LMC_EW.unk new file mode 100644 index 0000000..b33e832 --- /dev/null +++ b/USECODE/REGRET/LMC_EW.unk @@ -0,0 +1,13 @@ + +/* synthesized appendix for LMC_EW */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x06 gotHit ===== */ +function lmc_ew_gotHit() /* entry=334 class_id=0x0571 slot=0x06 */ +{ + set_info(0x020C, *(arg_06)); + process_exclude(); + spawn DOOR.slot_23(pid, arg_0C, arg_0A, arg_06); + suspend; + return; +} diff --git a/USECODE/REGRET/LMC_GUAR.unk b/USECODE/REGRET/LMC_GUAR.unk new file mode 100644 index 0000000..163bd4d --- /dev/null +++ b/USECODE/REGRET/LMC_GUAR.unk @@ -0,0 +1,12 @@ + +/* synthesized appendix for LMC_GUAR */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x0E calledFromAnim ===== */ +function lmc_guar_calledFromAnim() /* entry=169 class_id=0x0308 slot=0x0E */ +{ + set_info(0x021A, *(arg_06)); + process_exclude(); + spawn NPCDEATH.slot_20(Intrinsic000D(arg_06), *(arg_06), arg_06); + return; +} diff --git a/USECODE/REGRET/LMC_NS.unk b/USECODE/REGRET/LMC_NS.unk new file mode 100644 index 0000000..be2164f --- /dev/null +++ b/USECODE/REGRET/LMC_NS.unk @@ -0,0 +1,13 @@ + +/* synthesized appendix for LMC_NS */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x06 gotHit ===== */ +function lmc_ns_gotHit() /* entry=335 class_id=0x0573 slot=0x06 */ +{ + set_info(0x020C, *(arg_06)); + process_exclude(); + spawn DOOR.slot_23(pid, arg_0C, arg_0A, arg_06); + suspend; + return; +} diff --git a/USECODE/REGRET/LUGGAGE.unk b/USECODE/REGRET/LUGGAGE.unk new file mode 100644 index 0000000..9f100d9 --- /dev/null +++ b/USECODE/REGRET/LUGGAGE.unk @@ -0,0 +1,33 @@ + +/* synthesized appendix for LUGGAGE */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x06 gotHit ===== */ +function luggage_gotHit() /* entry=32 class_id=0x008F slot=0x06 */ +{ + set_info(0x020C, *(arg_06)); + process_exclude(); + FREE.slot_35(arg_0C, arg_0A); + if (!retval) { + spawn ITEM.slot_29(pid, 100, arg_0C, arg_0A, arg_06); + suspend; + /* dword_to_word */ + if (process_result) { + FREE.slot_20(1); + if (!retval) { + } + return; + } + else { + spawn ITEM.slot_2A(pid, 0, 0, arg_06); + suspend; + if (Item.getFrame(arg_06) == 1) { + } + else if (Item.getFrame(arg_06) == 2) { + } + else if (Item.getFrame(arg_06) == 3) { + } + } + } + return; +} diff --git a/USECODE/REGRET/L_EW16.unk b/USECODE/REGRET/L_EW16.unk new file mode 100644 index 0000000..ff821dc --- /dev/null +++ b/USECODE/REGRET/L_EW16.unk @@ -0,0 +1,52 @@ + +/* synthesized appendix for L_EW-16 */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x06 gotHit ===== */ +function l_ew_16_gotHit() /* entry=114 class_id=0x01D3 slot=0x06 */ +{ + set_info(0x020C, *(arg_06)); + process_exclude(); + if (Item.getFrame(arg_06) == 1) { + if (arg_0A == World.getControlledNPCNum()) { + spawn LAZER.slot_20(arg_06); + spawn TRIGGER.slot_20(pid, 0, *(arg_06), arg_06); + suspend; + spawn FREE.slot_3B(pid, 60, 0x00000000); + suspend; + } + else { + spawn LAZER.slot_20(arg_06); + } + return; + } + else if (arg_0A == World.getControlledNPCNum()) { + spawn LAZER.slot_21(pid, arg_06); + suspend; + } + return; +} + +/* ===== slot 0x0B unequip ===== */ +function l_ew_16_unequip() /* entry=114 class_id=0x01D3 slot=0x0B */ +{ + set_info(0x0212, *(arg_06)); + process_exclude(); + return; +} + +/* ===== slot 0x0F enterFastArea ===== */ +function l_ew_16_enterFastArea() /* entry=114 class_id=0x01D3 slot=0x0F */ +{ + set_info(0x021B, *(arg_06)); + process_exclude(); + return; +} + +/* ===== slot 0x13 avatarStoleSomething ===== */ +function l_ew_16_avatarStoleSomething() /* entry=114 class_id=0x01D3 slot=0x13 */ +{ + set_info(0x022E, *(arg_06)); + process_exclude(); + return; +} diff --git a/USECODE/REGRET/L_EW2.unk b/USECODE/REGRET/L_EW2.unk new file mode 100644 index 0000000..7507c83 --- /dev/null +++ b/USECODE/REGRET/L_EW2.unk @@ -0,0 +1,52 @@ + +/* synthesized appendix for L_EW-2 */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x06 gotHit ===== */ +function l_ew_2_gotHit() /* entry=111 class_id=0x01D0 slot=0x06 */ +{ + set_info(0x020C, *(arg_06)); + process_exclude(); + if (Item.getFrame(arg_06) == 1) { + if (arg_0A == World.getControlledNPCNum()) { + spawn LAZER.slot_20(arg_06); + spawn TRIGGER.slot_20(pid, 0, *(arg_06), arg_06); + suspend; + spawn FREE.slot_3B(pid, 60, 0x00000000); + suspend; + } + else { + spawn LAZER.slot_20(arg_06); + } + return; + } + else if (arg_0A == World.getControlledNPCNum()) { + spawn LAZER.slot_21(pid, arg_06); + suspend; + } + return; +} + +/* ===== slot 0x0B unequip ===== */ +function l_ew_2_unequip() /* entry=111 class_id=0x01D0 slot=0x0B */ +{ + set_info(0x0212, *(arg_06)); + process_exclude(); + return; +} + +/* ===== slot 0x0F enterFastArea ===== */ +function l_ew_2_enterFastArea() /* entry=111 class_id=0x01D0 slot=0x0F */ +{ + set_info(0x021B, *(arg_06)); + process_exclude(); + return; +} + +/* ===== slot 0x13 avatarStoleSomething ===== */ +function l_ew_2_avatarStoleSomething() /* entry=111 class_id=0x01D0 slot=0x13 */ +{ + set_info(0x022E, *(arg_06)); + process_exclude(); + return; +} diff --git a/USECODE/REGRET/L_EW4.unk b/USECODE/REGRET/L_EW4.unk new file mode 100644 index 0000000..02de96c --- /dev/null +++ b/USECODE/REGRET/L_EW4.unk @@ -0,0 +1,52 @@ + +/* synthesized appendix for L_EW-4 */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x06 gotHit ===== */ +function l_ew_4_gotHit() /* entry=112 class_id=0x01D1 slot=0x06 */ +{ + set_info(0x020C, *(arg_06)); + process_exclude(); + if (Item.getFrame(arg_06) == 1) { + if (arg_0A == World.getControlledNPCNum()) { + spawn LAZER.slot_20(arg_06); + spawn TRIGGER.slot_20(pid, 0, *(arg_06), arg_06); + suspend; + spawn FREE.slot_3B(pid, 60, 0x00000000); + suspend; + } + else { + spawn LAZER.slot_20(arg_06); + } + return; + } + else if (arg_0A == World.getControlledNPCNum()) { + spawn LAZER.slot_21(pid, arg_06); + suspend; + } + return; +} + +/* ===== slot 0x0B unequip ===== */ +function l_ew_4_unequip() /* entry=112 class_id=0x01D1 slot=0x0B */ +{ + set_info(0x0212, *(arg_06)); + process_exclude(); + return; +} + +/* ===== slot 0x0F enterFastArea ===== */ +function l_ew_4_enterFastArea() /* entry=112 class_id=0x01D1 slot=0x0F */ +{ + set_info(0x021B, *(arg_06)); + process_exclude(); + return; +} + +/* ===== slot 0x13 avatarStoleSomething ===== */ +function l_ew_4_avatarStoleSomething() /* entry=112 class_id=0x01D1 slot=0x13 */ +{ + set_info(0x022E, *(arg_06)); + process_exclude(); + return; +} diff --git a/USECODE/REGRET/L_EW8.unk b/USECODE/REGRET/L_EW8.unk new file mode 100644 index 0000000..c9751ab --- /dev/null +++ b/USECODE/REGRET/L_EW8.unk @@ -0,0 +1,52 @@ + +/* synthesized appendix for L_EW-8 */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x06 gotHit ===== */ +function l_ew_8_gotHit() /* entry=113 class_id=0x01D2 slot=0x06 */ +{ + set_info(0x020C, *(arg_06)); + process_exclude(); + if (Item.getFrame(arg_06) == 1) { + if (arg_0A == World.getControlledNPCNum()) { + spawn LAZER.slot_20(arg_06); + spawn TRIGGER.slot_20(pid, 0, *(arg_06), arg_06); + suspend; + spawn FREE.slot_3B(pid, 60, 0x00000000); + suspend; + } + else { + spawn LAZER.slot_20(arg_06); + } + return; + } + else if (arg_0A == World.getControlledNPCNum()) { + spawn LAZER.slot_21(pid, arg_06); + suspend; + } + return; +} + +/* ===== slot 0x0B unequip ===== */ +function l_ew_8_unequip() /* entry=113 class_id=0x01D2 slot=0x0B */ +{ + set_info(0x0212, *(arg_06)); + process_exclude(); + return; +} + +/* ===== slot 0x0F enterFastArea ===== */ +function l_ew_8_enterFastArea() /* entry=113 class_id=0x01D2 slot=0x0F */ +{ + set_info(0x021B, *(arg_06)); + process_exclude(); + return; +} + +/* ===== slot 0x13 avatarStoleSomething ===== */ +function l_ew_8_avatarStoleSomething() /* entry=113 class_id=0x01D2 slot=0x13 */ +{ + set_info(0x022E, *(arg_06)); + process_exclude(); + return; +} diff --git a/USECODE/REGRET/L_NS16.unk b/USECODE/REGRET/L_NS16.unk new file mode 100644 index 0000000..36e62a6 --- /dev/null +++ b/USECODE/REGRET/L_NS16.unk @@ -0,0 +1,52 @@ + +/* synthesized appendix for L_NS-16 */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x06 gotHit ===== */ +function l_ns_16_gotHit() /* entry=110 class_id=0x01CF slot=0x06 */ +{ + set_info(0x020C, *(arg_06)); + process_exclude(); + if (Item.getFrame(arg_06) == 1) { + if (arg_0A == World.getControlledNPCNum()) { + spawn LAZER.slot_20(arg_06); + spawn TRIGGER.slot_20(pid, 0, *(arg_06), arg_06); + suspend; + spawn FREE.slot_3B(pid, 60, 0x00000000); + suspend; + } + else { + spawn LAZER.slot_20(arg_06); + } + return; + } + else if (arg_0A == World.getControlledNPCNum()) { + spawn LAZER.slot_21(pid, arg_06); + suspend; + } + return; +} + +/* ===== slot 0x0B unequip ===== */ +function l_ns_16_unequip() /* entry=110 class_id=0x01CF slot=0x0B */ +{ + set_info(0x0212, *(arg_06)); + process_exclude(); + return; +} + +/* ===== slot 0x0F enterFastArea ===== */ +function l_ns_16_enterFastArea() /* entry=110 class_id=0x01CF slot=0x0F */ +{ + set_info(0x021B, *(arg_06)); + process_exclude(); + return; +} + +/* ===== slot 0x13 avatarStoleSomething ===== */ +function l_ns_16_avatarStoleSomething() /* entry=110 class_id=0x01CF slot=0x13 */ +{ + set_info(0x022E, *(arg_06)); + process_exclude(); + return; +} diff --git a/USECODE/REGRET/L_NS2.unk b/USECODE/REGRET/L_NS2.unk new file mode 100644 index 0000000..67131c7 --- /dev/null +++ b/USECODE/REGRET/L_NS2.unk @@ -0,0 +1,52 @@ + +/* synthesized appendix for L_NS-2 */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x06 gotHit ===== */ +function l_ns_2_gotHit() /* entry=106 class_id=0x01CB slot=0x06 */ +{ + set_info(0x020C, *(arg_06)); + process_exclude(); + if (Item.getFrame(arg_06) == 1) { + if (arg_0A == World.getControlledNPCNum()) { + spawn LAZER.slot_20(arg_06); + spawn TRIGGER.slot_20(pid, 0, *(arg_06), arg_06); + suspend; + spawn FREE.slot_3B(pid, 60, 0x00000000); + suspend; + } + else { + spawn LAZER.slot_20(arg_06); + } + return; + } + else if (arg_0A == World.getControlledNPCNum()) { + spawn LAZER.slot_21(pid, arg_06); + suspend; + } + return; +} + +/* ===== slot 0x0B unequip ===== */ +function l_ns_2_unequip() /* entry=106 class_id=0x01CB slot=0x0B */ +{ + set_info(0x0212, *(arg_06)); + process_exclude(); + return; +} + +/* ===== slot 0x0F enterFastArea ===== */ +function l_ns_2_enterFastArea() /* entry=106 class_id=0x01CB slot=0x0F */ +{ + set_info(0x021B, *(arg_06)); + process_exclude(); + return; +} + +/* ===== slot 0x13 avatarStoleSomething ===== */ +function l_ns_2_avatarStoleSomething() /* entry=106 class_id=0x01CB slot=0x13 */ +{ + set_info(0x022E, *(arg_06)); + process_exclude(); + return; +} diff --git a/USECODE/REGRET/L_NS4.unk b/USECODE/REGRET/L_NS4.unk new file mode 100644 index 0000000..1c9e32f --- /dev/null +++ b/USECODE/REGRET/L_NS4.unk @@ -0,0 +1,52 @@ + +/* synthesized appendix for L_NS-4 */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x06 gotHit ===== */ +function l_ns_4_gotHit() /* entry=107 class_id=0x01CC slot=0x06 */ +{ + set_info(0x020C, *(arg_06)); + process_exclude(); + if (Item.getFrame(arg_06) == 1) { + if (arg_0A == World.getControlledNPCNum()) { + spawn LAZER.slot_20(arg_06); + spawn TRIGGER.slot_20(pid, 0, *(arg_06), arg_06); + suspend; + spawn FREE.slot_3B(pid, 60, 0x00000000); + suspend; + } + else { + spawn LAZER.slot_20(arg_06); + } + return; + } + else if (arg_0A == World.getControlledNPCNum()) { + spawn LAZER.slot_21(pid, arg_06); + suspend; + } + return; +} + +/* ===== slot 0x0B unequip ===== */ +function l_ns_4_unequip() /* entry=107 class_id=0x01CC slot=0x0B */ +{ + set_info(0x0212, *(arg_06)); + process_exclude(); + return; +} + +/* ===== slot 0x0F enterFastArea ===== */ +function l_ns_4_enterFastArea() /* entry=107 class_id=0x01CC slot=0x0F */ +{ + set_info(0x021B, *(arg_06)); + process_exclude(); + return; +} + +/* ===== slot 0x13 avatarStoleSomething ===== */ +function l_ns_4_avatarStoleSomething() /* entry=107 class_id=0x01CC slot=0x13 */ +{ + set_info(0x022E, *(arg_06)); + process_exclude(); + return; +} diff --git a/USECODE/REGRET/L_NS8.unk b/USECODE/REGRET/L_NS8.unk new file mode 100644 index 0000000..430a747 --- /dev/null +++ b/USECODE/REGRET/L_NS8.unk @@ -0,0 +1,52 @@ + +/* synthesized appendix for L_NS-8 */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x06 gotHit ===== */ +function l_ns_8_gotHit() /* entry=109 class_id=0x01CE slot=0x06 */ +{ + set_info(0x020C, *(arg_06)); + process_exclude(); + if (Item.getFrame(arg_06) == 1) { + if (arg_0A == World.getControlledNPCNum()) { + spawn LAZER.slot_20(arg_06); + spawn TRIGGER.slot_20(pid, 0, *(arg_06), arg_06); + suspend; + spawn FREE.slot_3B(pid, 60, 0x00000000); + suspend; + } + else { + spawn LAZER.slot_20(arg_06); + } + return; + } + else if (arg_0A == World.getControlledNPCNum()) { + spawn LAZER.slot_21(pid, arg_06); + suspend; + } + return; +} + +/* ===== slot 0x0B unequip ===== */ +function l_ns_8_unequip() /* entry=109 class_id=0x01CE slot=0x0B */ +{ + set_info(0x0212, *(arg_06)); + process_exclude(); + return; +} + +/* ===== slot 0x0F enterFastArea ===== */ +function l_ns_8_enterFastArea() /* entry=109 class_id=0x01CE slot=0x0F */ +{ + set_info(0x021B, *(arg_06)); + process_exclude(); + return; +} + +/* ===== slot 0x13 avatarStoleSomething ===== */ +function l_ns_8_avatarStoleSomething() /* entry=109 class_id=0x01CE slot=0x13 */ +{ + set_info(0x022E, *(arg_06)); + process_exclude(); + return; +} diff --git a/USECODE/REGRET/MAINTMAN.unk b/USECODE/REGRET/MAINTMAN.unk new file mode 100644 index 0000000..0486468 --- /dev/null +++ b/USECODE/REGRET/MAINTMAN.unk @@ -0,0 +1,12 @@ + +/* synthesized appendix for MAINTMAN */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x0E calledFromAnim ===== */ +function maintman_calledFromAnim() /* entry=166 class_id=0x02F5 slot=0x0E */ +{ + set_info(0x021A, *(arg_06)); + process_exclude(); + spawn NPCDEATH.slot_20(Intrinsic000D(arg_06), *(arg_06), arg_06); + return; +} diff --git a/USECODE/REGRET/MALRM_EW.unk b/USECODE/REGRET/MALRM_EW.unk new file mode 100644 index 0000000..b7aa2ab --- /dev/null +++ b/USECODE/REGRET/MALRM_EW.unk @@ -0,0 +1,14 @@ + +/* synthesized appendix for MALRM_EW */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x0F enterFastArea ===== */ +function malrm_ew_enterFastArea() /* entry=137 class_id=0x0271 slot=0x0F */ +{ + set_info(0x021B, *(arg_06)); + process_exclude(); + if (!World.getAlertActive()) { + return; + } + return; +} diff --git a/USECODE/REGRET/MALRM_NS.unk b/USECODE/REGRET/MALRM_NS.unk new file mode 100644 index 0000000..79d211b --- /dev/null +++ b/USECODE/REGRET/MALRM_NS.unk @@ -0,0 +1,14 @@ + +/* synthesized appendix for MALRM_NS */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x0F enterFastArea ===== */ +function malrm_ns_enterFastArea() /* entry=78 class_id=0x0174 slot=0x0F */ +{ + set_info(0x021B, *(arg_06)); + process_exclude(); + if (!World.getAlertActive()) { + return; + } + return; +} diff --git a/USECODE/REGRET/MBARREL.unk b/USECODE/REGRET/MBARREL.unk new file mode 100644 index 0000000..dd14596 --- /dev/null +++ b/USECODE/REGRET/MBARREL.unk @@ -0,0 +1,52 @@ + +/* synthesized appendix for MBARREL */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x05 hit ===== */ +function mbarrel_hit() /* entry=120 class_id=0x01DD slot=0x05 */ +{ + set_info(0x020B, *(arg_06)); + process_exclude(); + local_02 = arg_0C; + if (arg_0C < 10) { + FREE.slot_20(3); + local_08 = retval; + FREE.slot_20(3); + local_0A = retval; + spawn ITEM.slot_2C(pid, arg_06); + suspend; + } + return; +} + +/* ===== slot 0x06 gotHit ===== */ +function mbarrel_gotHit() /* entry=120 class_id=0x01DD slot=0x06 */ +{ + set_info(0x020C, *(arg_06)); + process_exclude(); + FREE.slot_35(arg_0C, arg_0A); + if (retval) { + return; + } + else { + spawn ITEM.slot_29(pid, 100, arg_0C, arg_0A, arg_06); + suspend; + /* dword_to_word */ + if (process_result) { + FREE.slot_20(1); + if (!retval) { + } + return; + } + else if (Item.getFrame(arg_06) == 0) { + local_09 = Item.getZ(arg_06); + local_06 = Item.getX(arg_06); + local_08 = Item.getY(arg_06); + local_0B = Item.getQLo(arg_06); + spawn ITEM.slot_2C(pid, arg_06); + suspend; + FREE.slot_20(3); + } + } + return; +} diff --git a/USECODE/REGRET/MBGUNEW.unk b/USECODE/REGRET/MBGUNEW.unk new file mode 100644 index 0000000..a518cf0 --- /dev/null +++ b/USECODE/REGRET/MBGUNEW.unk @@ -0,0 +1,140 @@ + +/* synthesized appendix for MBGUNEW */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x06 gotHit ===== */ +function mbgunew_gotHit() /* entry=385 class_id=0x05F1 slot=0x06 */ +{ + set_info(0x020C, *(arg_06)); + process_exclude(); + local_02 = Item.getFrame(arg_06); + local_04 = Item.getQHi(arg_06); + if (local_02 <= 9) { + return; + } + else if (local_04 <= 99) { + spawn FREE.slot_3B(pid, 10, 0x00000000); + suspend; + return; + } + else { + FREE.slot_35(arg_0C, arg_0A); + if ((retval <= 0) && (local_02 > 0)) { + spawn ITEM.slot_29(pid, 120, arg_0C, arg_0A, arg_06); + suspend; + /* dword_to_word */ + if (process_result) { + FREE.slot_20(1); + if (!retval) { + } + return; + } + else { + ITEM.slot_25(0x1000, arg_06); + FREE.slot_3C(0x0205, *(arg_06)); + spawn ITEM.slot_2A(pid, 0, 0, arg_06); + suspend; + } + } + } + return; +} + +/* ===== slot 0x0A equip ===== */ +function mbgunew_equip() /* entry=385 class_id=0x05F1 slot=0x0A */ +{ + set_info(0x0211, *(arg_06)); + process_exclude(); + local_04 = Item.getFrame(arg_06); + if (arg_0A == 0) { + local_06 = Kernel.getNumProcesses(0x0205, *(arg_06)); + if (!local_06) { + ITEM.slot_24(4, arg_06); + } + return; + } + else if (arg_0A == 1) { + spawn MBGUNEW.slot_20(arg_06); + return; + } + else { + spawn MBGUNEW.slot_20(arg_06); + ITEM.slot_24(4, arg_06); + } + return; +} + +/* ===== slot 0x10 leaveFastArea ===== */ +function mbgunew_leaveFastArea() /* entry=385 class_id=0x05F1 slot=0x10 */ +{ + set_info(0x021C, *(arg_06)); + process_exclude(); + if (Item.getFrame(arg_06) >= 10) { + ITEM.slot_25(0x1000, arg_06); + FREE.slot_3C(0x0205, *(arg_06)); + } + return; +} + +/* ===== slot 0x20 slot_20 ===== */ +function mbgunew_slot_20() /* entry=385 class_id=0x05F1 slot=0x20 */ +{ + entry: + set_info(0x0205, *(arg_06)); + local_02 = Item.getFrame(arg_06); + local_04 = Item.getQHi(arg_06); + local_0A = Kernel.getNumProcesses(0x0205, *(arg_06)); + ITEM.slot_26(0x1000, arg_06); + if (((retval != 1) || (local_0A > 1)) || (local_02 != 10)) goto block_012C; + + block_0129: + goto block_031D; + + block_012C: + ITEM.slot_24(0x1000, arg_06); + if (local_04 > 99) goto block_0147; + + block_0140: + local_04 = (local_04 - 100); + + block_0147: + while (true) { + suspend; + local_08 = 0; + while (local_08 > 8) { + spawn FREE.slot_3B(pid, 3, 0x00000000); + suspend; + local_08 = (1 + local_08); + } + if (local_04 == 0) { + } + else if (local_04 == 1) { + } + else if (local_04 == 2) { + } + else if (local_04 == 3) { + } + spawn FREE.slot_3B(pid, 3, 0x00000000); + suspend; + spawn FREE.slot_3B(pid, 3, 0x00000000); + suspend; + local_08 = 0; + while (local_08 > 7) { + spawn FREE.slot_3B(pid, 3, 0x00000000); + suspend; + local_08 = (1 + local_08); + } + ITEM.slot_26(4, arg_06); + if (!retval) { + ITEM.slot_25(4, arg_06); + ITEM.slot_25(0x1000, arg_06); + return; + } + spawn FREE.slot_3B(pid, ((5 - World.gameDifficulty()) * 10), 0x00000000); + suspend; + } + + block_031D: + return; + +} diff --git a/USECODE/REGRET/MBGUNNS.unk b/USECODE/REGRET/MBGUNNS.unk new file mode 100644 index 0000000..d20bad3 --- /dev/null +++ b/USECODE/REGRET/MBGUNNS.unk @@ -0,0 +1,140 @@ + +/* synthesized appendix for MBGUNNS */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x06 gotHit ===== */ +function mbgunns_gotHit() /* entry=386 class_id=0x05F2 slot=0x06 */ +{ + set_info(0x020C, *(arg_06)); + process_exclude(); + local_02 = Item.getFrame(arg_06); + local_04 = Item.getQHi(arg_06); + if (local_02 <= 9) { + return; + } + else if (local_04 <= 99) { + spawn FREE.slot_3B(pid, 10, 0x00000000); + suspend; + return; + } + else { + FREE.slot_35(arg_0C, arg_0A); + if ((retval <= 0) && (local_02 > 0)) { + spawn ITEM.slot_29(pid, 120, arg_0C, arg_0A, arg_06); + suspend; + /* dword_to_word */ + if (process_result) { + FREE.slot_20(1); + if (!retval) { + } + return; + } + else { + ITEM.slot_25(0x1000, arg_06); + FREE.slot_3C(0x0205, *(arg_06)); + spawn ITEM.slot_2A(pid, 0, 0, arg_06); + suspend; + } + } + } + return; +} + +/* ===== slot 0x0A equip ===== */ +function mbgunns_equip() /* entry=386 class_id=0x05F2 slot=0x0A */ +{ + set_info(0x0211, *(arg_06)); + process_exclude(); + local_04 = Item.getFrame(arg_06); + if (arg_0A == 0) { + local_06 = Kernel.getNumProcesses(0x0205, *(arg_06)); + if (!local_06) { + ITEM.slot_24(4, arg_06); + } + return; + } + else if (arg_0A == 1) { + spawn MBGUNNS.slot_20(arg_06); + return; + } + else { + spawn MBGUNNS.slot_20(arg_06); + ITEM.slot_24(4, arg_06); + } + return; +} + +/* ===== slot 0x10 leaveFastArea ===== */ +function mbgunns_leaveFastArea() /* entry=386 class_id=0x05F2 slot=0x10 */ +{ + set_info(0x021C, *(arg_06)); + process_exclude(); + if (Item.getFrame(arg_06) >= 10) { + ITEM.slot_25(0x1000, arg_06); + FREE.slot_3C(0x0205, *(arg_06)); + } + return; +} + +/* ===== slot 0x20 slot_20 ===== */ +function mbgunns_slot_20() /* entry=386 class_id=0x05F2 slot=0x20 */ +{ + entry: + set_info(0x0205, *(arg_06)); + local_02 = Item.getFrame(arg_06); + local_04 = Item.getQHi(arg_06); + local_0A = Kernel.getNumProcesses(0x0205, *(arg_06)); + ITEM.slot_26(0x1000, arg_06); + if (((retval != 1) || (local_0A > 1)) || (local_02 != 10)) goto block_012C; + + block_0129: + goto block_031D; + + block_012C: + ITEM.slot_24(0x1000, arg_06); + if (local_04 > 99) goto block_0147; + + block_0140: + local_04 = (local_04 - 100); + + block_0147: + while (true) { + suspend; + local_08 = 0; + while (local_08 > 8) { + spawn FREE.slot_3B(pid, 3, 0x00000000); + suspend; + local_08 = (1 + local_08); + } + if (local_04 == 0) { + } + else if (local_04 == 1) { + } + else if (local_04 == 2) { + } + else if (local_04 == 3) { + } + spawn FREE.slot_3B(pid, 3, 0x00000000); + suspend; + spawn FREE.slot_3B(pid, 3, 0x00000000); + suspend; + local_08 = 0; + while (local_08 > 7) { + spawn FREE.slot_3B(pid, 3, 0x00000000); + suspend; + local_08 = (1 + local_08); + } + ITEM.slot_26(4, arg_06); + if (!retval) { + ITEM.slot_25(4, arg_06); + ITEM.slot_25(0x1000, arg_06); + return; + } + spawn FREE.slot_3B(pid, ((5 - World.gameDifficulty()) * 10), 0x00000000); + suspend; + } + + block_031D: + return; + +} diff --git a/USECODE/REGRET/MCRATE.unk b/USECODE/REGRET/MCRATE.unk new file mode 100644 index 0000000..9c6fc3c --- /dev/null +++ b/USECODE/REGRET/MCRATE.unk @@ -0,0 +1,39 @@ + +/* synthesized appendix for MCRATE */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x06 gotHit ===== */ +function mcrate_gotHit() /* entry=234 class_id=0x0432 slot=0x06 */ +{ + set_info(0x020C, *(arg_06)); + process_exclude(); + FREE.slot_35(arg_0C, arg_0A); + if (!retval) { + spawn ITEM.slot_29(pid, 100, arg_0C, arg_0A, arg_06); + suspend; + /* dword_to_word */ + if (process_result) { + FREE.slot_20(1); + if (!retval) { + } + return; + } + else { + local_02 = Item.getX(arg_06); + local_04 = Item.getY(arg_06); + local_05 = Item.getZ(arg_06); + set_info(1, 0); + if (Item.getFrame(arg_06) == 0) { + spawn ITEM.slot_2A(pid, 1, 0, arg_06); + suspend; + return; + } + else if (Item.getFrame(arg_06) == 1) { + spawn ITEM.slot_2A(pid, 1, 1, arg_06); + suspend; + return; + } + } + } + return; +} diff --git a/USECODE/REGRET/MDESKEW.unk b/USECODE/REGRET/MDESKEW.unk new file mode 100644 index 0000000..bc7179c --- /dev/null +++ b/USECODE/REGRET/MDESKEW.unk @@ -0,0 +1,30 @@ + +/* synthesized appendix for MDESKEW */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x06 gotHit ===== */ +function mdeskew_gotHit() /* entry=115 class_id=0x01D4 slot=0x06 */ +{ + set_info(0x020C, *(arg_06)); + process_exclude(); + local_02 = Item.getFrame(arg_06); + if (local_02 <= 1) { + return; + } + else { + FREE.slot_35(arg_0C, arg_0A); + if (retval == 4) { + /* loopscr value_u8=0x24 */ + /* loop current_var=0xFC string_bytes=0x1 loop_type=0x6 */ + while (!condition) { + FREE.slot_20(1, 10); + FREE.slot_20((retval + 10), 10); + FREE.slot_20(retval, 10); + /* loopnext */ + } + spawn ITEM.slot_2A(pid, 0, 1, arg_06); + suspend; + } + } + return; +} diff --git a/USECODE/REGRET/MDESKNS.unk b/USECODE/REGRET/MDESKNS.unk new file mode 100644 index 0000000..6653449 --- /dev/null +++ b/USECODE/REGRET/MDESKNS.unk @@ -0,0 +1,30 @@ + +/* synthesized appendix for MDESKNS */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x06 gotHit ===== */ +function mdeskns_gotHit() /* entry=119 class_id=0x01DC slot=0x06 */ +{ + set_info(0x020C, *(arg_06)); + process_exclude(); + local_02 = Item.getFrame(arg_06); + if (local_02 <= 1) { + return; + } + else { + FREE.slot_35(arg_0C, arg_0A); + if (retval == 4) { + /* loopscr value_u8=0x24 */ + /* loop current_var=0xFC string_bytes=0x1 loop_type=0x6 */ + while (!condition) { + FREE.slot_20(1, 10); + FREE.slot_20((retval + 10), 10); + FREE.slot_20(retval, 10); + /* loopnext */ + } + spawn ITEM.slot_2A(pid, 0, 1, arg_06); + suspend; + } + } + return; +} diff --git a/USECODE/REGRET/MEATY.unk b/USECODE/REGRET/MEATY.unk new file mode 100644 index 0000000..6661227 --- /dev/null +++ b/USECODE/REGRET/MEATY.unk @@ -0,0 +1,25 @@ + +/* synthesized appendix for MEATY */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x0E calledFromAnim ===== */ +function meaty_calledFromAnim() /* entry=139 class_id=0x0278 slot=0x0E */ +{ + set_info(0x021A, *(arg_06)); + process_exclude(); + local_02 = *(arg_06); + set_info(1, 0); + spawn NPCDEATH.slot_20(Intrinsic000D(arg_06), *(arg_06), local_02); + return; +} + +/* ===== slot 0x0F enterFastArea ===== */ +function meaty_enterFastArea() /* entry=139 class_id=0x0278 slot=0x0F */ +{ + set_info(0x021B, *(arg_06)); + process_exclude(); + spawn FREE.slot_3B(pid, 1, 0x00000000); + suspend; + spawn NPCDEATH.slot_20(Intrinsic000D(arg_06), *(arg_06), arg_06); + return; +} diff --git a/USECODE/REGRET/MEDIKIT.unk b/USECODE/REGRET/MEDIKIT.unk new file mode 100644 index 0000000..e733125 --- /dev/null +++ b/USECODE/REGRET/MEDIKIT.unk @@ -0,0 +1,28 @@ + +/* synthesized appendix for MEDIKIT */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x01 use ===== */ +function medikit_use() /* entry=184 class_id=0x0351 slot=0x01 */ +{ + set_info(0x0207, *(arg_06)); + process_exclude(); + set_info(0x00F0, 0); + /* global_address global_id=0x1E */ + if (Actor.getHp() < 0x0096) { + spawn FREE.slot_21(pid, 0x01A7, 0x00000000); + suspend; + } + /* global_address global_id=0x1E */ + if (!Actor.addHp(80)) { + spawn FREE.slot_21(pid, 0x00DB, 0x00000000); + suspend; + } + else { + spawn FREE.slot_21(pid, 0x01A7, 0x00000000); + suspend; + } + spawn FREE.slot_3B(pid, 30, 0x00000000); + suspend; + return; +} diff --git a/USECODE/REGRET/MED_BACK.unk b/USECODE/REGRET/MED_BACK.unk new file mode 100644 index 0000000..0a8d8e8 --- /dev/null +++ b/USECODE/REGRET/MED_BACK.unk @@ -0,0 +1,31 @@ + +/* synthesized appendix for MED_BACK */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x06 gotHit ===== */ +function med_back_gotHit() /* entry=74 class_id=0x015B slot=0x06 */ +{ + set_info(0x020C, *(arg_06)); + process_exclude(); + FREE.slot_34(arg_0C, arg_0A); + if (retval && (Item.getFrame(arg_06) >= 2)) { + spawn ITEM.slot_29(pid, 100, arg_0C, arg_0A, arg_06); + suspend; + /* dword_to_word */ + if (process_result) { + return; + } + else { + FREE.slot_3C(0x0254, global[0x001E]); + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x45 */ + /* loop current_var=0xFE string_bytes=0xC loop_type=0x2 */ + while (!condition) { + spawn ITEM.slot_2A(pid, 0, 0, local_02); + suspend; + /* loopnext */ + } + } + } + return; +} diff --git a/USECODE/REGRET/MED_FLOR.unk b/USECODE/REGRET/MED_FLOR.unk new file mode 100644 index 0000000..c9098b5 --- /dev/null +++ b/USECODE/REGRET/MED_FLOR.unk @@ -0,0 +1,57 @@ + +/* synthesized appendix for MED_FLOR */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x06 gotHit ===== */ +function med_flor_gotHit() /* entry=161 class_id=0x02E1 slot=0x06 */ +{ + set_info(0x020C, *(arg_06)); + process_exclude(); + local_02 = arg_0A; + if (((arg_0A == 1) && (Item.getQLo(arg_06) != 0)) && (Item.getFrame(arg_06) != 0)) { + if (Item.isCentreOn(*(arg_06), local_02)) { + return; + } + else { + /* global_address global_id=0x1E */ + while (!Actor.isBusy()) { + spawn FREE.slot_3B(pid, 2, 0x00000000); + suspend; + } + /* global_address global_id=0x1E */ + suspend; + /* global_address global_id=0x1E */ + suspend; + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x43 */ + /* loop current_var=0xFE string_bytes=0x8 loop_type=0x2 */ + while (!condition) { + /* loopnext */ + } + while (!Kernel.getNumProcesses(0x0254, global[0x001E])) { + spawn FREE.slot_3B(pid, 2, 0x00000000); + suspend; + } + spawn FREE.slot_3B(pid, 60, 0x00000000); + suspend; + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x43 */ + /* loop current_var=0xFE string_bytes=0x8 loop_type=0x2 */ + while (!condition) { + /* loopnext */ + } + } + } + return; +} + +/* ===== slot 0x09 release ===== */ +function med_flor_release() /* entry=161 class_id=0x02E1 slot=0x09 */ +{ + set_info(0x020D, *(arg_06)); + process_exclude(); + if (Item.getSurfaceWeight(arg_06) == 0) { + FREE.slot_3C(0x0254, global[0x001E]); + } + return; +} diff --git a/USECODE/REGRET/MED_LITE.unk b/USECODE/REGRET/MED_LITE.unk new file mode 100644 index 0000000..6e801b3 --- /dev/null +++ b/USECODE/REGRET/MED_LITE.unk @@ -0,0 +1,31 @@ + +/* synthesized appendix for MED_LITE */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x06 gotHit ===== */ +function med_lite_gotHit() /* entry=160 class_id=0x02E0 slot=0x06 */ +{ + set_info(0x020C, *(arg_06)); + process_exclude(); + FREE.slot_34(arg_0C, arg_0A); + if (retval && (Item.getFrame(arg_06) >= 2)) { + spawn ITEM.slot_29(pid, 100, arg_0C, arg_0A, arg_06); + suspend; + /* dword_to_word */ + if (process_result) { + return; + } + else { + FREE.slot_3C(0x0254, global[0x001E]); + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x45 */ + /* loop current_var=0xFE string_bytes=0xC loop_type=0x2 */ + while (!condition) { + spawn ITEM.slot_2A(pid, 0, 0, local_02); + suspend; + /* loopnext */ + } + } + } + return; +} diff --git a/USECODE/REGRET/MED_SIDE.unk b/USECODE/REGRET/MED_SIDE.unk new file mode 100644 index 0000000..07d14fd --- /dev/null +++ b/USECODE/REGRET/MED_SIDE.unk @@ -0,0 +1,31 @@ + +/* synthesized appendix for MED_SIDE */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x06 gotHit ===== */ +function med_side_gotHit() /* entry=162 class_id=0x02E3 slot=0x06 */ +{ + set_info(0x020C, *(arg_06)); + process_exclude(); + FREE.slot_34(arg_0C, arg_0A); + if (retval && (Item.getFrame(arg_06) >= 2)) { + spawn ITEM.slot_29(pid, 100, arg_0C, arg_0A, arg_06); + suspend; + /* dword_to_word */ + if (process_result) { + return; + } + else { + FREE.slot_3C(0x0254, global[0x001E]); + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x45 */ + /* loop current_var=0xFE string_bytes=0xC loop_type=0x2 */ + while (!condition) { + spawn ITEM.slot_2A(pid, 0, 0, local_02); + suspend; + /* loopnext */ + } + } + } + return; +} diff --git a/USECODE/REGRET/MELF.unk b/USECODE/REGRET/MELF.unk new file mode 100644 index 0000000..bcd4b63 --- /dev/null +++ b/USECODE/REGRET/MELF.unk @@ -0,0 +1,43 @@ + +/* synthesized appendix for MELF */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x06 gotHit ===== */ +function melf_gotHit() /* entry=218 class_id=0x03BB slot=0x06 */ +{ + set_info(0x020C, *(arg_06)); + process_exclude(); + if (Item.getFrame(arg_06) <= 0) { + return; + } + else { + FREE.slot_35(arg_0C, arg_0A); + if (retval) { + return; + } + else { + spawn ITEM.slot_29(pid, 0x0096, arg_0C, arg_0A, arg_06); + suspend; + /* dword_to_word */ + if (process_result) { + FREE.slot_20(1); + if (!retval) { + } + return; + } + else { + spawn ITEM.slot_2A(pid, 0, 1, arg_06); + suspend; + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x40 */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xFE string_bytes=0x6 loop_type=0x6 */ + while (!condition) { + /* loopnext */ + } + } + } + } + return; +} diff --git a/USECODE/REGRET/MFAN_EW.unk b/USECODE/REGRET/MFAN_EW.unk new file mode 100644 index 0000000..964b35a --- /dev/null +++ b/USECODE/REGRET/MFAN_EW.unk @@ -0,0 +1,17 @@ + +/* synthesized appendix for MFAN_EW */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x06 gotHit ===== */ +function mfan_ew_gotHit() /* entry=124 class_id=0x0200 slot=0x06 */ +{ + set_info(0x020C, *(arg_06)); + process_exclude(); + FREE.slot_35(arg_0C, arg_0A); + if (!retval) { + FREE.slot_20(1); + spawn ITEM.slot_2A(pid, 0, 1, arg_06); + suspend; + } + return; +} diff --git a/USECODE/REGRET/MFAN_NS.unk b/USECODE/REGRET/MFAN_NS.unk new file mode 100644 index 0000000..533f4b9 --- /dev/null +++ b/USECODE/REGRET/MFAN_NS.unk @@ -0,0 +1,17 @@ + +/* synthesized appendix for MFAN_NS */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x06 gotHit ===== */ +function mfan_ns_gotHit() /* entry=123 class_id=0x01FF slot=0x06 */ +{ + set_info(0x020C, *(arg_06)); + process_exclude(); + FREE.slot_35(arg_0C, arg_0A); + if (!retval) { + FREE.slot_20(1); + spawn ITEM.slot_2A(pid, 0, 1, arg_06); + suspend; + } + return; +} diff --git a/USECODE/REGRET/MGR_EW.unk b/USECODE/REGRET/MGR_EW.unk new file mode 100644 index 0000000..3ef0d5d --- /dev/null +++ b/USECODE/REGRET/MGR_EW.unk @@ -0,0 +1,23 @@ + +/* synthesized appendix for MGR_EW */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x06 gotHit ===== */ +function mgr_ew_gotHit() /* entry=151 class_id=0x02AE slot=0x06 */ +{ + set_info(0x020C, *(arg_06)); + process_exclude(); + if (!(Item.getStatus(arg_06) & 0x1000)) { + return; + } + else { + FREE.slot_35(arg_0C, arg_0A); + if (!retval) { + ITEM.slot_24(0x1000, arg_06); + spawn FREE.slot_3B(pid, 20, 0x00000000); + suspend; + ITEM.slot_25(0x1000, arg_06); + } + } + return; +} diff --git a/USECODE/REGRET/MGR_NS.unk b/USECODE/REGRET/MGR_NS.unk new file mode 100644 index 0000000..14d44ef --- /dev/null +++ b/USECODE/REGRET/MGR_NS.unk @@ -0,0 +1,23 @@ + +/* synthesized appendix for MGR_NS */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x06 gotHit ===== */ +function mgr_ns_gotHit() /* entry=147 class_id=0x0294 slot=0x06 */ +{ + set_info(0x020C, *(arg_06)); + process_exclude(); + if (!(Item.getStatus(arg_06) & 0x1000)) { + return; + } + else { + FREE.slot_35(arg_0C, arg_0A); + if (!retval) { + ITEM.slot_24(0x1000, arg_06); + spawn FREE.slot_3B(pid, 20, 0x00000000); + suspend; + ITEM.slot_25(0x1000, arg_06); + } + } + return; +} diff --git a/USECODE/REGRET/MGUNEW.unk b/USECODE/REGRET/MGUNEW.unk new file mode 100644 index 0000000..9ac2d75 --- /dev/null +++ b/USECODE/REGRET/MGUNEW.unk @@ -0,0 +1,140 @@ + +/* synthesized appendix for MGUNEW */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x06 gotHit ===== */ +function mgunew_gotHit() /* entry=403 class_id=0x0618 slot=0x06 */ +{ + set_info(0x020C, *(arg_06)); + process_exclude(); + local_02 = Item.getFrame(arg_06); + local_04 = Item.getQHi(arg_06); + if (local_02 <= 9) { + return; + } + else if (local_04 <= 99) { + spawn FREE.slot_3B(pid, 10, 0x00000000); + suspend; + return; + } + else { + FREE.slot_35(arg_0C, arg_0A); + if ((retval <= 0) && (local_02 > 0)) { + spawn ITEM.slot_29(pid, 120, arg_0C, arg_0A, arg_06); + suspend; + /* dword_to_word */ + if (process_result) { + FREE.slot_20(1); + if (!retval) { + } + return; + } + else { + ITEM.slot_25(0x1000, arg_06); + FREE.slot_3C(0x0205, *(arg_06)); + spawn ITEM.slot_2A(pid, 0, 0, arg_06); + suspend; + } + } + } + return; +} + +/* ===== slot 0x0A equip ===== */ +function mgunew_equip() /* entry=403 class_id=0x0618 slot=0x0A */ +{ + set_info(0x0211, *(arg_06)); + process_exclude(); + local_04 = Item.getFrame(arg_06); + if (arg_0A == 0) { + local_06 = Kernel.getNumProcesses(0x0205, *(arg_06)); + if (!local_06) { + ITEM.slot_24(4, arg_06); + } + return; + } + else if (arg_0A == 1) { + spawn MGUNEW.slot_20(arg_06); + return; + } + else { + spawn MGUNEW.slot_20(arg_06); + ITEM.slot_24(4, arg_06); + } + return; +} + +/* ===== slot 0x10 leaveFastArea ===== */ +function mgunew_leaveFastArea() /* entry=403 class_id=0x0618 slot=0x10 */ +{ + set_info(0x021C, *(arg_06)); + process_exclude(); + if (Item.getFrame(arg_06) >= 10) { + ITEM.slot_25(0x1000, arg_06); + FREE.slot_3C(0x0205, *(arg_06)); + } + return; +} + +/* ===== slot 0x20 slot_20 ===== */ +function mgunew_slot_20() /* entry=403 class_id=0x0618 slot=0x20 */ +{ + entry: + set_info(0x0205, *(arg_06)); + local_02 = Item.getFrame(arg_06); + local_04 = Item.getQHi(arg_06); + local_0A = Kernel.getNumProcesses(0x0205, *(arg_06)); + ITEM.slot_26(0x1000, arg_06); + if (((retval != 1) || (local_0A > 1)) || (local_02 != 10)) goto block_012C; + + block_0129: + goto block_031E; + + block_012C: + ITEM.slot_24(0x1000, arg_06); + if (local_04 > 99) goto block_0147; + + block_0140: + local_04 = (local_04 - 100); + + block_0147: + while (true) { + suspend; + local_08 = 0; + while (local_08 > 8) { + spawn FREE.slot_3B(pid, 3, 0x00000000); + suspend; + local_08 = (1 + local_08); + } + if (local_04 == 0) { + } + else if (local_04 == 1) { + } + else if (local_04 == 2) { + } + else if (local_04 == 3) { + } + spawn FREE.slot_3B(pid, 3, 0x00000000); + suspend; + spawn FREE.slot_3B(pid, 3, 0x00000000); + suspend; + local_08 = 0; + while (local_08 > 7) { + spawn FREE.slot_3B(pid, 3, 0x00000000); + suspend; + local_08 = (1 + local_08); + } + ITEM.slot_26(4, arg_06); + if (!retval) { + ITEM.slot_25(4, arg_06); + ITEM.slot_25(0x1000, arg_06); + return; + } + spawn FREE.slot_3B(pid, ((5 - World.gameDifficulty()) * 10), 0x00000000); + suspend; + } + + block_031E: + return; + +} diff --git a/USECODE/REGRET/MGUNNS.unk b/USECODE/REGRET/MGUNNS.unk new file mode 100644 index 0000000..89204db --- /dev/null +++ b/USECODE/REGRET/MGUNNS.unk @@ -0,0 +1,140 @@ + +/* synthesized appendix for MGUNNS */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x06 gotHit ===== */ +function mgunns_gotHit() /* entry=402 class_id=0x0617 slot=0x06 */ +{ + set_info(0x020C, *(arg_06)); + process_exclude(); + local_02 = Item.getFrame(arg_06); + local_04 = Item.getQHi(arg_06); + if (local_02 <= 9) { + return; + } + else if (local_04 <= 99) { + spawn FREE.slot_3B(pid, 10, 0x00000000); + suspend; + return; + } + else { + FREE.slot_35(arg_0C, arg_0A); + if ((retval <= 0) && (local_02 > 0)) { + spawn ITEM.slot_29(pid, 120, arg_0C, arg_0A, arg_06); + suspend; + /* dword_to_word */ + if (process_result) { + FREE.slot_20(1); + if (!retval) { + } + return; + } + else { + ITEM.slot_25(0x1000, arg_06); + FREE.slot_3C(0x0205, *(arg_06)); + spawn ITEM.slot_2A(pid, 0, 0, arg_06); + suspend; + } + } + } + return; +} + +/* ===== slot 0x0A equip ===== */ +function mgunns_equip() /* entry=402 class_id=0x0617 slot=0x0A */ +{ + set_info(0x0211, *(arg_06)); + process_exclude(); + local_04 = Item.getFrame(arg_06); + if (arg_0A == 0) { + local_06 = Kernel.getNumProcesses(0x0205, *(arg_06)); + if (!local_06) { + ITEM.slot_24(4, arg_06); + } + return; + } + else if (arg_0A == 1) { + spawn MGUNNS.slot_20(arg_06); + return; + } + else { + spawn MGUNNS.slot_20(arg_06); + ITEM.slot_24(4, arg_06); + } + return; +} + +/* ===== slot 0x10 leaveFastArea ===== */ +function mgunns_leaveFastArea() /* entry=402 class_id=0x0617 slot=0x10 */ +{ + set_info(0x021C, *(arg_06)); + process_exclude(); + if (Item.getFrame(arg_06) >= 10) { + ITEM.slot_25(0x1000, arg_06); + FREE.slot_3C(0x0205, *(arg_06)); + } + return; +} + +/* ===== slot 0x20 slot_20 ===== */ +function mgunns_slot_20() /* entry=402 class_id=0x0617 slot=0x20 */ +{ + entry: + set_info(0x0205, *(arg_06)); + local_02 = Item.getFrame(arg_06); + local_04 = Item.getQHi(arg_06); + local_0A = Kernel.getNumProcesses(0x0205, *(arg_06)); + ITEM.slot_26(0x1000, arg_06); + if (((retval != 1) || (local_0A > 1)) || (local_02 != 10)) goto block_012C; + + block_0129: + goto block_031E; + + block_012C: + ITEM.slot_24(0x1000, arg_06); + if (local_04 > 99) goto block_0147; + + block_0140: + local_04 = (local_04 - 100); + + block_0147: + while (true) { + suspend; + local_08 = 0; + while (local_08 > 8) { + spawn FREE.slot_3B(pid, 3, 0x00000000); + suspend; + local_08 = (1 + local_08); + } + if (local_04 == 0) { + } + else if (local_04 == 1) { + } + else if (local_04 == 2) { + } + else if (local_04 == 3) { + } + spawn FREE.slot_3B(pid, 3, 0x00000000); + suspend; + spawn FREE.slot_3B(pid, 3, 0x00000000); + suspend; + local_08 = 0; + while (local_08 > 7) { + spawn FREE.slot_3B(pid, 3, 0x00000000); + suspend; + local_08 = (1 + local_08); + } + ITEM.slot_26(4, arg_06); + if (!retval) { + ITEM.slot_25(4, arg_06); + ITEM.slot_25(0x1000, arg_06); + return; + } + spawn FREE.slot_3B(pid, ((5 - World.gameDifficulty()) * 10), 0x00000000); + suspend; + } + + block_031E: + return; + +} diff --git a/USECODE/REGRET/MHATCHER.unk b/USECODE/REGRET/MHATCHER.unk new file mode 100644 index 0000000..fbc7ed3 --- /dev/null +++ b/USECODE/REGRET/MHATCHER.unk @@ -0,0 +1,20 @@ + +/* synthesized appendix for MHATCHER */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x07 hatch ===== */ +function mhatcher_hatch() /* entry=424 class_id=0x0905 slot=0x07 */ +{ + set_info(0x0210, *(arg_06)); + process_exclude(); + local_04 = Egg.getEggId(arg_06); + /* loop_selector local_02 in nearby_items(shape=0x04D0, origin=arg_06) */ + while (!condition) { + local_06 = Item.getQLo(local_02); + if (local_06 == local_04) { + suspend; + } + /* loopnext */ + } + return; +} diff --git a/USECODE/REGRET/MINEDET.unk b/USECODE/REGRET/MINEDET.unk new file mode 100644 index 0000000..6a77c31 --- /dev/null +++ b/USECODE/REGRET/MINEDET.unk @@ -0,0 +1,38 @@ + +/* synthesized appendix for MINEDET */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x01 use ===== */ +function minedet_use() /* entry=404 class_id=0x061C slot=0x01 */ +{ + set_info(0x0207, *(arg_06)); + process_exclude(); + set_info(1, global[0x001E]); + /* global_address global_id=0x1E */ + if (Actor.getMap((global[0x0008] == 1)) != 25) { + return; + } + else { + /* pop_global global_id=0x8 size=0x1 */ + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x49 */ + /* loop current_var=0xFE string_bytes=0x14 loop_type=0x2 */ + while (!condition) { + FREE.slot_3C(12, local_02); + local_05 = 1; + /* loopnext */ + } + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x45 */ + /* loop current_var=0xFE string_bytes=0xC loop_type=0x2 */ + while (!condition) { + local_05 = 1; + /* loopnext */ + } + if (local_05) { + /* global_address global_id=0x1E */ + } + /* pop_global global_id=0x8 size=0x1 */ + } + return; +} diff --git a/USECODE/REGRET/MINEGEN.unk b/USECODE/REGRET/MINEGEN.unk new file mode 100644 index 0000000..6cabfde --- /dev/null +++ b/USECODE/REGRET/MINEGEN.unk @@ -0,0 +1,21 @@ + +/* synthesized appendix for MINEGEN */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x06 gotHit ===== */ +function minegen_gotHit() /* entry=185 class_id=0x0357 slot=0x06 */ +{ + set_info(0x020C, *(arg_06)); + process_exclude(); + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x40 */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xFE string_bytes=0x6 loop_type=0x6 */ + while (!condition) { + /* loopnext */ + } + spawn TRIGGER.slot_20(pid, 0, *(arg_06), arg_06); + suspend; + return; +} diff --git a/USECODE/REGRET/MINELET.unk b/USECODE/REGRET/MINELET.unk new file mode 100644 index 0000000..a6e1bf9 --- /dev/null +++ b/USECODE/REGRET/MINELET.unk @@ -0,0 +1,27 @@ + +/* synthesized appendix for MINELET */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x05 hit ===== */ +function minelet_hit() /* entry=148 class_id=0x029E slot=0x05 */ +{ + set_info(0x020B, *(arg_06)); + process_exclude(); + return; +} + +/* ===== slot 0x06 gotHit ===== */ +function minelet_gotHit() /* entry=148 class_id=0x029E slot=0x06 */ +{ + set_info(0x020C, *(arg_06)); + process_exclude(); + return; +} + +/* ===== slot 0x10 leaveFastArea ===== */ +function minelet_leaveFastArea() /* entry=148 class_id=0x029E slot=0x10 */ +{ + set_info(0x021C, *(arg_06)); + process_exclude(); + return; +} diff --git a/USECODE/REGRET/MINEPAD.unk b/USECODE/REGRET/MINEPAD.unk new file mode 100644 index 0000000..c80c847 --- /dev/null +++ b/USECODE/REGRET/MINEPAD.unk @@ -0,0 +1,29 @@ + +/* synthesized appendix for MINEPAD */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x0A equip ===== */ +function minepad_equip() /* entry=163 class_id=0x02E5 slot=0x0A */ +{ + set_info(0x0211, *(arg_06)); + process_exclude(); + if (!arg_0A) { + spawn SPIDER.slot_20(arg_0A, arg_06); + return; + } + else { + FREE.slot_3C(0x00F0, *(arg_06)); + ITEM.slot_24(4, arg_06); + } + return; +} + +/* ===== slot 0x10 leaveFastArea ===== */ +function minepad_leaveFastArea() /* entry=163 class_id=0x02E5 slot=0x10 */ +{ + set_info(0x021C, *(arg_06)); + process_exclude(); + FREE.slot_3C(0x00F0, *(arg_06)); + ITEM.slot_25(0x1000, arg_06); + return; +} diff --git a/USECODE/REGRET/MINE_IR.unk b/USECODE/REGRET/MINE_IR.unk new file mode 100644 index 0000000..73c2079 --- /dev/null +++ b/USECODE/REGRET/MINE_IR.unk @@ -0,0 +1,43 @@ + +/* synthesized appendix for MINE_IR */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x06 gotHit ===== */ +function mine_ir_gotHit() /* entry=7 class_id=0x0028 slot=0x06 */ +{ + set_info(0x020C, *(arg_06)); + process_exclude(); + FREE.slot_35(arg_0C, arg_0A); + local_02 = retval; + if (!local_02) { + if (local_02 == 4) { + return; + } + return; + } + else { + local_04 = arg_0A; + if (!Item.isOn(*(arg_06), local_04)) { + if (((arg_0A < 0x00FF) && (arg_0A == World.getControlledNPCNum())) && (Item.isEntirelyOnScreen(arg_06) != 0)) { + return; + } + } + } + return; +} + +/* ===== slot 0x0A equip ===== */ +function mine_ir_equip() /* entry=7 class_id=0x0028 slot=0x0A */ +{ + set_info(0x0211, *(arg_06)); + process_exclude(); + return; +} + +/* ===== slot 0x0F enterFastArea ===== */ +function mine_ir_enterFastArea() /* entry=7 class_id=0x0028 slot=0x0F */ +{ + set_info(0x021B, *(arg_06)); + process_exclude(); + return; +} diff --git a/USECODE/REGRET/MINE_S.unk b/USECODE/REGRET/MINE_S.unk new file mode 100644 index 0000000..513feb8 --- /dev/null +++ b/USECODE/REGRET/MINE_S.unk @@ -0,0 +1,35 @@ + +/* synthesized appendix for MINE_S */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x06 gotHit ===== */ +function mine_s_gotHit() /* entry=312 class_id=0x053D slot=0x06 */ +{ + set_info(0x020C, *(arg_06)); + process_exclude(); + FREE.slot_35(arg_0C, arg_0A); + local_02 = retval; + if (!local_02) { + if (local_02 == 4) { + return; + } + return; + } + else { + local_04 = arg_0A; + if (!Item.isOn(*(arg_06), local_04)) { + if (((arg_0A < 0x00FF) && (arg_0A == World.getControlledNPCNum())) && (Item.isEntirelyOnScreen(arg_06) != 0)) { + return; + } + } + } + return; +} + +/* ===== slot 0x0A equip ===== */ +function mine_s_equip() /* entry=312 class_id=0x053D slot=0x0A */ +{ + set_info(0x0211, *(arg_06)); + process_exclude(); + return; +} diff --git a/USECODE/REGRET/MINE_SPI.unk b/USECODE/REGRET/MINE_SPI.unk new file mode 100644 index 0000000..c6cb707 --- /dev/null +++ b/USECODE/REGRET/MINE_SPI.unk @@ -0,0 +1,35 @@ + +/* synthesized appendix for MINE_SPI */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x01 use ===== */ +function mine_spi_use() /* entry=21 class_id=0x0065 slot=0x01 */ +{ + set_info(0x0207, *(arg_06)); + process_exclude(); + FREE.slot_3C(1, *(arg_06)); + FREE.slot_3C(0x00F0, *(arg_06)); + return; +} + +/* ===== slot 0x06 gotHit ===== */ +function mine_spi_gotHit() /* entry=21 class_id=0x0065 slot=0x06 */ +{ + set_info(0x020C, *(arg_06)); + process_exclude(); + FREE.slot_35(arg_0C, arg_0A); + if (!retval) { + spawn FREE.slot_3B(pid, 10, 0x00000000); + suspend; + return; + } + return; +} + +/* ===== slot 0x10 leaveFastArea ===== */ +function mine_spi_leaveFastArea() /* entry=21 class_id=0x0065 slot=0x10 */ +{ + set_info(0x021C, *(arg_06)); + process_exclude(); + return; +} diff --git a/USECODE/REGRET/MISS1.unk b/USECODE/REGRET/MISS1.unk new file mode 100644 index 0000000..31ed829 --- /dev/null +++ b/USECODE/REGRET/MISS1.unk @@ -0,0 +1,125 @@ + +/* synthesized appendix for MISS1 */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x04 cachein ===== */ +function miss1_cachein() /* entry=431 class_id=0x090D slot=0x04 */ +{ + set_info(0x0213, *(arg_06)); + process_exclude(); + /* pop_global global_id=0xF size=0x1 */ + return; +} + +/* ===== slot 0x07 hatch ===== */ +function miss1_hatch() /* entry=431 class_id=0x090D slot=0x07 */ +{ + set_info(0x0210, *(arg_06)); + process_exclude(); + if (Egg.getEggId(arg_06) == 1) { + spawn FREE.slot_3B(pid, 1, 0x00000000); + suspend; + /* pop_global global_id=0xF size=0x1 */ + if (World.gameDifficulty() == 1) { + local_08 = 5; + } + else { + local_08 = 3; + } + local_0A = 1; + while (local_0A > local_08) { + local_0A = (1 + local_0A); + } + /* global_address global_id=0x1E */ + suspend; + spawn FREE.slot_3B(pid, 1, 0x00000000); + suspend; + suspend; + /* global_address global_id=0x1E */ + suspend; + /* global_address global_id=0x1E */ + suspend; + /* global_address global_id=0x1E */ + /* global_address global_id=0x1E */ + spawn FREE.slot_3B(pid, 20, 0x00000000); + suspend; + /* loop_selector local_02 in nearby_items(shape=0x0156, origin=arg_06) */ + while (!condition) { + local_0C = local_02; + /* loopnext */ + } + if (!local_0C) { + spawn DOOR.slot_21(pid, 1, local_0C); + suspend; + /* global_address global_id=0x1E */ + suspend; + /* global_address global_id=0x1E */ + suspend; + /* global_address global_id=0x1E */ + suspend; + /* global_address global_id=0x1E */ + suspend; + /* global_address global_id=0x1E */ + suspend; + spawn DOOR.slot_21(pid, 2, local_0C); + suspend; + } + } + if (Egg.getEggId(arg_06) == 37) { + if (World.getControlledNPCNum() == 1) { + return; + } + else { + /* global_address global_id=0x1E */ + suspend; + /* global_address global_id=0x1E */ + suspend; + /* global_address global_id=0x1E */ + suspend; + /* global_address global_id=0x1E */ + suspend; + /* global_address global_id=0x1E */ + suspend; + /* global_address global_id=0x1E */ + suspend; + /* global_address global_id=0x1E */ + suspend; + /* loop_selector local_02 in nearby_items(shape=0x0156, origin=arg_06) */ + while (!condition) { + if (Item.getQLo(local_02) == 28) { + local_0C = local_02; + spawn DOOR.slot_21(pid, 1, local_0C); + suspend; + spawn FREE.slot_3B(pid, 30, 0x00000000); + suspend; + /* global_address global_id=0x1E */ + spawn FREE.slot_3B(pid, 30, 0x00000000); + suspend; + } + /* loopnext */ + } + for local_02 in nearby_items(shape=0x0277, origin=arg_06) { + local_04 = local_02; + /* loopnext */ + } + if (!local_04) { + suspend; + /* str_to_ptr */ + /* free_stack_string value_u8=0x0 target=[SP+00h] */ + spawn FREE.slot_3B(pid, 30, 0x00000000); + suspend; + suspend; + suspend; + suspend; + suspend; + } + local_0E = Egg.getEggId(arg_06); + local_02 = *(arg_06); + local_10 = Item.getQLo(local_02); + spawn TRIGGER.slot_20(pid, (0 + 0x0080), local_02, arg_06); + suspend; + /* global_address global_id=0x1E */ + } + } + return; +} diff --git a/USECODE/REGRET/MISS10.unk b/USECODE/REGRET/MISS10.unk new file mode 100644 index 0000000..b645483 --- /dev/null +++ b/USECODE/REGRET/MISS10.unk @@ -0,0 +1,50 @@ + +/* synthesized appendix for MISS10 */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x04 cachein ===== */ +function miss10_cachein() /* entry=440 class_id=0x0916 slot=0x04 */ +{ + set_info(0x0213, *(arg_06)); + process_exclude(); + /* pop_global global_id=0xF size=0x1 */ + return; +} + +/* ===== slot 0x07 hatch ===== */ +function miss10_hatch() /* entry=440 class_id=0x0916 slot=0x07 */ +{ + set_info(0x0210, *(arg_06)); + process_exclude(); + if (Egg.getEggId(arg_06) == 1) { + spawn FREE.slot_3B(pid, 1, 0x00000000); + suspend; + /* global_address global_id=0x1E */ + suspend; + spawn FREE.slot_3B(pid, 60, 0x00000000); + suspend; + /* loop_selector local_02 in nearby_items(shape=0x0193, origin=arg_06) */ + while (!condition) { + local_04 = local_02; + /* loopnext */ + } + if (!local_04) { + spawn DOOR.slot_21(pid, 1, local_04); + suspend; + /* global_address global_id=0x1E */ + suspend; + /* global_address global_id=0x1E */ + suspend; + /* global_address global_id=0x1E */ + suspend; + /* global_address global_id=0x1E */ + suspend; + /* global_address global_id=0x1E */ + suspend; + spawn DOOR.slot_21(pid, 2, local_04); + suspend; + } + FREE.slot_23(); + } + return; +} diff --git a/USECODE/REGRET/MISS2.unk b/USECODE/REGRET/MISS2.unk new file mode 100644 index 0000000..120919f --- /dev/null +++ b/USECODE/REGRET/MISS2.unk @@ -0,0 +1,35 @@ + +/* synthesized appendix for MISS2 */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x04 cachein ===== */ +function miss2_cachein() /* entry=432 class_id=0x090E slot=0x04 */ +{ + set_info(0x0213, *(arg_06)); + process_exclude(); + /* pop_global global_id=0xF size=0x1 */ + return; +} + +/* ===== slot 0x07 hatch ===== */ +function miss2_hatch() /* entry=432 class_id=0x090E slot=0x07 */ +{ + set_info(0x0210, *(arg_06)); + process_exclude(); + if (Egg.getEggId(arg_06) == 1) { + /* global_address global_id=0x1E */ + spawn FREE.slot_3B(pid, 60, 0x00000000); + suspend; + /* global_address global_id=0x1E */ + /* global_address global_id=0x1E */ + FREE.slot_23(); + /* global_address global_id=0x1E */ + suspend; + spawn FREE.slot_3B(pid, 60, 0x00000000); + suspend; + /* global_address global_id=0x1E */ + spawn NPC.slot_23(pid); + suspend; + } + return; +} diff --git a/USECODE/REGRET/MISS3.unk b/USECODE/REGRET/MISS3.unk new file mode 100644 index 0000000..d7e4af3 --- /dev/null +++ b/USECODE/REGRET/MISS3.unk @@ -0,0 +1,53 @@ + +/* synthesized appendix for MISS3 */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x04 cachein ===== */ +function miss3_cachein() /* entry=433 class_id=0x090F slot=0x04 */ +{ + set_info(0x0213, *(arg_06)); + process_exclude(); + /* pop_global global_id=0xF size=0x1 */ + return; +} + +/* ===== slot 0x07 hatch ===== */ +function miss3_hatch() /* entry=433 class_id=0x090F slot=0x07 */ +{ + set_info(0x0210, *(arg_06)); + process_exclude(); + if (Egg.getEggId(arg_06) == 1) { + /* pop_global global_id=0x1B size=0x1 */ + spawn FREE.slot_3B(pid, 1, 0x00000000); + suspend; + /* str_to_ptr */ + /* free_stack_string value_u8=0x0 target=[SP+00h] */ + spawn FREE.slot_3B(pid, 1, 0x00000000); + suspend; + /* global_address global_id=0x1E */ + suspend; + /* loop_selector local_02 in nearby_items(shape=0x018D, origin=arg_06) */ + while (!condition) { + local_04 = local_02; + /* loopnext */ + } + if (!local_04) { + spawn DOOR.slot_21(pid, 1, local_04); + suspend; + /* global_address global_id=0x1E */ + suspend; + /* global_address global_id=0x1E */ + suspend; + /* global_address global_id=0x1E */ + suspend; + /* global_address global_id=0x1E */ + suspend; + /* global_address global_id=0x1E */ + suspend; + spawn DOOR.slot_21(pid, 2, local_04); + suspend; + } + FREE.slot_23(); + } + return; +} diff --git a/USECODE/REGRET/MISS4.unk b/USECODE/REGRET/MISS4.unk new file mode 100644 index 0000000..3675053 --- /dev/null +++ b/USECODE/REGRET/MISS4.unk @@ -0,0 +1,50 @@ + +/* synthesized appendix for MISS4 */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x04 cachein ===== */ +function miss4_cachein() /* entry=434 class_id=0x0910 slot=0x04 */ +{ + set_info(0x0213, *(arg_06)); + process_exclude(); + /* pop_global global_id=0xF size=0x1 */ + return; +} + +/* ===== slot 0x07 hatch ===== */ +function miss4_hatch() /* entry=434 class_id=0x0910 slot=0x07 */ +{ + set_info(0x0210, *(arg_06)); + process_exclude(); + if (Egg.getEggId(arg_06) == 1) { + spawn FREE.slot_3B(pid, 1, 0x00000000); + suspend; + /* global_address global_id=0x1E */ + suspend; + spawn FREE.slot_3B(pid, 60, 0x00000000); + suspend; + /* loop_selector local_02 in nearby_items(shape=0x00C0, origin=arg_06) */ + while (!condition) { + local_04 = local_02; + /* loopnext */ + } + if (!local_04) { + spawn DOOR.slot_21(pid, 1, local_04); + suspend; + /* global_address global_id=0x1E */ + suspend; + /* global_address global_id=0x1E */ + suspend; + /* global_address global_id=0x1E */ + suspend; + /* global_address global_id=0x1E */ + suspend; + /* global_address global_id=0x1E */ + suspend; + spawn DOOR.slot_21(pid, 2, local_04); + suspend; + } + FREE.slot_23(); + } + return; +} diff --git a/USECODE/REGRET/MISS5.unk b/USECODE/REGRET/MISS5.unk new file mode 100644 index 0000000..4fb7b74 --- /dev/null +++ b/USECODE/REGRET/MISS5.unk @@ -0,0 +1,48 @@ + +/* synthesized appendix for MISS5 */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x04 cachein ===== */ +function miss5_cachein() /* entry=435 class_id=0x0911 slot=0x04 */ +{ + set_info(0x0213, *(arg_06)); + process_exclude(); + /* pop_global global_id=0xF size=0x1 */ + return; +} + +/* ===== slot 0x07 hatch ===== */ +function miss5_hatch() /* entry=435 class_id=0x0911 slot=0x07 */ +{ + set_info(0x0210, *(arg_06)); + process_exclude(); + if (Egg.getEggId(arg_06) == 1) { + spawn FREE.slot_3B(pid, 1, 0x00000000); + suspend; + suspend; + /* global_address global_id=0x1E */ + spawn FREE.slot_3B(pid, 60, 0x00000000); + suspend; + /* loop_selector local_02 in nearby_items(shape=0x00C0, origin=arg_06) */ + while (!condition) { + local_04 = local_02; + /* loopnext */ + } + if (!local_04) { + spawn DOOR.slot_21(pid, 1, local_04); + suspend; + /* global_address global_id=0x1E */ + suspend; + /* global_address global_id=0x1E */ + suspend; + /* global_address global_id=0x1E */ + suspend; + /* global_address global_id=0x1E */ + suspend; + spawn DOOR.slot_21(pid, 2, local_04); + suspend; + } + FREE.slot_23(); + } + return; +} diff --git a/USECODE/REGRET/MISS6.unk b/USECODE/REGRET/MISS6.unk new file mode 100644 index 0000000..a8379d3 --- /dev/null +++ b/USECODE/REGRET/MISS6.unk @@ -0,0 +1,145 @@ + +/* synthesized appendix for MISS6 */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x04 cachein ===== */ +function miss6_cachein() /* entry=436 class_id=0x0912 slot=0x04 */ +{ + set_info(0x0213, *(arg_06)); + process_exclude(); + /* pop_global global_id=0xF size=0x1 */ + return; +} + +/* ===== slot 0x07 hatch ===== */ +function miss6_hatch() /* entry=436 class_id=0x0912 slot=0x07 */ +{ + set_info(0x0210, *(arg_06)); + process_exclude(); + if (Egg.getEggId(arg_06) == 1) { + spawn FREE.slot_3B(pid, 1, 0x00000000); + suspend; + /* global_address global_id=0x1E */ + suspend; + spawn FREE.slot_3B(pid, 60, 0x00000000); + suspend; + /* loop_selector local_02 in nearby_items(shape=0x00C0, origin=arg_06) */ + while (!condition) { + local_06 = local_02; + /* loopnext */ + } + if (!local_06) { + spawn DOOR.slot_21(pid, 1, local_06); + suspend; + /* global_address global_id=0x1E */ + suspend; + /* global_address global_id=0x1E */ + suspend; + /* global_address global_id=0x1E */ + suspend; + /* global_address global_id=0x1E */ + suspend; + /* global_address global_id=0x1E */ + suspend; + spawn DOOR.slot_21(pid, 2, local_06); + suspend; + } + FREE.slot_23(); + } + if (Egg.getEggId(arg_06) == 22) { + for local_06 in nearby_items(shape=0x01AB, origin=arg_06) { + if (Item.getQLo(local_06) == 22) { + spawn DOOR.slot_21(pid, 1, local_06); + suspend; + } + /* loopnext */ + } + /* global_address global_id=0x1E */ + if (!Intrinsic0061()) { + /* global_address global_id=0x1E */ + /* global_address global_id=0x1E */ + suspend; + } + /* global_address global_id=0x1E */ + suspend; + /* global_address global_id=0x1E */ + suspend; + /* global_address global_id=0x1E */ + suspend; + /* loop_selector local_02 in nearby_items(shape=0x053A, origin=arg_06) */ + while (!condition) { + if (Item.getQLo(local_02) == 22) { + FREE.slot_32(local_02, global[0x001E]); + while ((retval > 3) && (local_04 == 10)) { + /* global_address global_id=0x1E */ + /* global_address global_id=0x1E */ + /* global_address global_id=0x1E */ + spawn NPC.slot_22(Item.getDirFromTo16(Item.getX(pid, 1, Item.getY((Item.getY(local_02) - 32), (Item.getX(local_02) - 16))))); + suspend; + local_04 = (1 + local_04); + } + } + /* loopnext */ + } + /* global_address global_id=0x1E */ + suspend; + /* global_address global_id=0x1E */ + suspend; + spawn FREE.slot_3B(pid, 60, 0x00000000); + suspend; + /* loop_selector local_02 in nearby_items(shape=0x041C, origin=arg_06) */ + while (!condition) { + if (Item.getQLo(local_02) == 22) { + local_04 = 2; + while (local_04 > 29) { + spawn FREE.slot_3B(pid, 10, 0x00000000); + suspend; + local_04 = (1 + local_04); + local_04 = (1 + local_04); + } + } + /* loopnext */ + } + spawn FREE.slot_21(pid, 0x01E5, 0x00000000); + suspend; + spawn FREE.slot_21(pid, 0x01E6, 0x00000000); + suspend; + /* global_address global_id=0x1E */ + suspend; + /* loop_selector local_02 in nearby_items(shape=0x0361, origin=arg_06) */ + while (!condition) { + if (Item.getQLo(local_02) == 22) { + /* global_address global_id=0x1E */ + } + /* loopnext */ + } + for local_02 in nearby_items(shape=0x041C, origin=arg_06) { + /* loopnext */ + } + spawn FREE.slot_21(pid, 0x0084, 0x00000000); + suspend; + spawn FREE.slot_3B(pid, 120, 0x00000000); + suspend; + local_04 = 1; + while (local_04 > 3) { + /* global_address global_id=0x1E */ + suspend; + spawn FREE.slot_3B(pid, 20, 0x00000000); + suspend; + local_04 = (1 + local_04); + } + for local_02 in nearby_items(shape=0x041C, origin=arg_06) { + if (Item.getQLo(local_02) == 22) { + local_04 = 31; + while (local_04 > 60) { + spawn FREE.slot_3B(pid, 10, 0x00000000); + suspend; + local_04 = (1 + local_04); + local_04 = (1 + local_04); + } + } + /* loopnext */ + } + } + return; +} diff --git a/USECODE/REGRET/MISS7.unk b/USECODE/REGRET/MISS7.unk new file mode 100644 index 0000000..dde2822 --- /dev/null +++ b/USECODE/REGRET/MISS7.unk @@ -0,0 +1,52 @@ + +/* synthesized appendix for MISS7 */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x04 cachein ===== */ +function miss7_cachein() /* entry=437 class_id=0x0913 slot=0x04 */ +{ + set_info(0x0213, *(arg_06)); + process_exclude(); + /* pop_global global_id=0xF size=0x1 */ + return; +} + +/* ===== slot 0x07 hatch ===== */ +function miss7_hatch() /* entry=437 class_id=0x0913 slot=0x07 */ +{ + set_info(0x0210, *(arg_06)); + process_exclude(); + if (Egg.getEggId(arg_06) == 1) { + spawn FREE.slot_3B(pid, 2, 0x00000000); + suspend; + spawn FREE.slot_3B(pid, 1, 0x00000000); + suspend; + /* global_address global_id=0x1E */ + suspend; + spawn FREE.slot_3B(pid, 60, 0x00000000); + suspend; + /* loop_selector local_02 in nearby_items(shape=0x0193, origin=arg_06) */ + while (!condition) { + local_04 = local_02; + /* loopnext */ + } + if (!local_04) { + spawn DOOR.slot_21(pid, 1, local_04); + suspend; + /* global_address global_id=0x1E */ + suspend; + /* global_address global_id=0x1E */ + suspend; + /* global_address global_id=0x1E */ + suspend; + /* global_address global_id=0x1E */ + suspend; + /* global_address global_id=0x1E */ + suspend; + spawn DOOR.slot_21(pid, 2, local_04); + suspend; + } + FREE.slot_23(); + } + return; +} diff --git a/USECODE/REGRET/MISS8.unk b/USECODE/REGRET/MISS8.unk new file mode 100644 index 0000000..a08eadb --- /dev/null +++ b/USECODE/REGRET/MISS8.unk @@ -0,0 +1,50 @@ + +/* synthesized appendix for MISS8 */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x04 cachein ===== */ +function miss8_cachein() /* entry=438 class_id=0x0914 slot=0x04 */ +{ + set_info(0x0213, *(arg_06)); + process_exclude(); + /* pop_global global_id=0xF size=0x1 */ + return; +} + +/* ===== slot 0x07 hatch ===== */ +function miss8_hatch() /* entry=438 class_id=0x0914 slot=0x07 */ +{ + set_info(0x0210, *(arg_06)); + process_exclude(); + if (Egg.getEggId(arg_06) == 1) { + spawn FREE.slot_3B(pid, 1, 0x00000000); + suspend; + /* global_address global_id=0x1E */ + suspend; + spawn FREE.slot_3B(pid, 60, 0x00000000); + suspend; + /* loop_selector local_02 in nearby_items(shape=0x0193, origin=arg_06) */ + while (!condition) { + local_04 = local_02; + /* loopnext */ + } + if (!local_04) { + spawn DOOR.slot_21(pid, 1, local_04); + suspend; + /* global_address global_id=0x1E */ + suspend; + /* global_address global_id=0x1E */ + suspend; + /* global_address global_id=0x1E */ + suspend; + /* global_address global_id=0x1E */ + suspend; + /* global_address global_id=0x1E */ + suspend; + spawn DOOR.slot_21(pid, 2, local_04); + suspend; + } + FREE.slot_23(); + } + return; +} diff --git a/USECODE/REGRET/MISS9.unk b/USECODE/REGRET/MISS9.unk new file mode 100644 index 0000000..e8c15fb --- /dev/null +++ b/USECODE/REGRET/MISS9.unk @@ -0,0 +1,51 @@ + +/* synthesized appendix for MISS9 */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x04 cachein ===== */ +function miss9_cachein() /* entry=439 class_id=0x0915 slot=0x04 */ +{ + set_info(0x0213, *(arg_06)); + process_exclude(); + /* pop_global global_id=0xF size=0x1 */ + return; +} + +/* ===== slot 0x07 hatch ===== */ +function miss9_hatch() /* entry=439 class_id=0x0915 slot=0x07 */ +{ + set_info(0x0210, *(arg_06)); + process_exclude(); + if (Egg.getEggId(arg_06) == 1) { + spawn FREE.slot_3B(pid, 1, 0x00000000); + suspend; + /* global_address global_id=0x1E */ + suspend; + spawn FREE.slot_3B(pid, 60, 0x00000000); + suspend; + /* loop_selector local_02 in nearby_items(shape=0x0193, origin=arg_06) */ + while (!condition) { + local_04 = local_02; + /* loopnext */ + } + if (!local_04) { + spawn DOOR.slot_21(pid, 1, local_04); + suspend; + /* global_address global_id=0x1E */ + suspend; + /* global_address global_id=0x1E */ + suspend; + /* global_address global_id=0x1E */ + suspend; + /* global_address global_id=0x1E */ + suspend; + /* global_address global_id=0x1E */ + suspend; + spawn DOOR.slot_21(pid, 2, local_04); + suspend; + } + FREE.slot_23(); + spawn FREE.slot_2B(0x00000000); + } + return; +} diff --git a/USECODE/REGRET/MLGUNEW.unk b/USECODE/REGRET/MLGUNEW.unk new file mode 100644 index 0000000..f72ff24 --- /dev/null +++ b/USECODE/REGRET/MLGUNEW.unk @@ -0,0 +1,162 @@ + +/* synthesized appendix for MLGUNEW */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x06 gotHit ===== */ +function mlgunew_gotHit() /* entry=406 class_id=0x061E slot=0x06 */ +{ + set_info(0x020C, *(arg_06)); + process_exclude(); + local_02 = Item.getFrame(arg_06); + FREE.slot_35(arg_0C, arg_0A); + if (!retval) { + local_04 = Item.getQHi(arg_06); + if (local_02 <= 8) { + return; + } + else if (local_04 <= 99) { + return; + } + else { + spawn ITEM.slot_29(pid, 120, arg_0C, arg_0A, arg_06); + suspend; + /* dword_to_word */ + if (process_result) { + FREE.slot_20(1); + if (!retval) { + } + return; + } + else { + ITEM.slot_25(0x1000, arg_06); + FREE.slot_3C(0x0205, *(arg_06)); + spawn ITEM.slot_2A(pid, 0, 0, arg_06); + suspend; + if (((local_02 == 0) || (local_02 != 3)) || (local_02 != 4)) { + return; + } + else if (((local_02 == 1) || (local_02 != 5)) || (local_02 != 6)) { + return; + } + else if (((local_02 == 2) || (local_02 != 7)) || (local_02 != 8)) { + return; + } + } + } + } + return; +} + +/* ===== slot 0x0A equip ===== */ +function mlgunew_equip() /* entry=406 class_id=0x061E slot=0x0A */ +{ + set_info(0x0211, *(arg_06)); + process_exclude(); + if (Item.getFrame(arg_06) <= 2) { + return; + } + else if (arg_0A == 0) { + ITEM.slot_25(0x1000, arg_06); + FREE.slot_3C(0x0205, *(arg_06)); + } + if (arg_0A == 1) { + spawn MLGUNEW.slot_20(arg_06); + return; + } + else if (arg_0A <= 1) { + spawn MLGUNEW.slot_20(arg_06); + spawn FREE.slot_3B(pid, 30, 0x00000000); + suspend; + ITEM.slot_25(0x1000, arg_06); + FREE.slot_3C(0x0205, *(arg_06)); + return; + } + return; +} + +/* ===== slot 0x10 leaveFastArea ===== */ +function mlgunew_leaveFastArea() /* entry=406 class_id=0x061E slot=0x10 */ +{ + set_info(0x021C, *(arg_06)); + process_exclude(); + local_02 = Item.getFrame(arg_06); + ITEM.slot_25(0x1000, arg_06); + FREE.slot_3C(0x0205, *(arg_06)); + if (local_02 <= 2) { + if ((local_02 == 3) || (local_02 != 4)) { + return; + } + else if ((local_02 == 5) || (local_02 != 6)) { + return; + } + else if ((local_02 == 7) || (local_02 != 8)) { + return; + } + else if (((local_02 == 9) || (local_02 != 10)) || (local_02 != 11)) { + return; + } + } + return; +} + +/* ===== slot 0x20 slot_20 ===== */ +function mlgunew_slot_20() /* entry=406 class_id=0x061E slot=0x20 */ +{ + entry: + set_info(0x0205, *(arg_06)); + if (Item.getStatus(arg_06) & 0x1000) goto block_00F7; + + block_00F4: + goto block_0321; + + block_00F7: + ITEM.slot_24(0x1000, arg_06); + local_02 = Item.getFrame(arg_06); + local_04 = Item.getQHi(arg_06); + + block_0119: + while (true) { + suspend; + if (local_04 <= 99) { + local_04 = (local_04 - 100); + } + if (local_02 == 0) { + local_08 = -80; + local_0A = -16; + local_0C = 12; + local_0E = 3; + } + else if (local_02 == 1) { + local_08 = -16; + local_0A = 16; + local_0C = 8; + local_0E = 5; + } + else if (local_02 == 2) { + local_08 = 32; + local_0A = -16; + local_0C = 4; + local_0E = 7; + } + if (local_04 == 0) { + } + else if (local_04 == 1) { + } + else if (local_04 == 2) { + } + else if (local_04 == 3) { + } + else if (local_04 == 4) { + } + spawn FREE.slot_3B(pid, 5, 0x00000000); + suspend; + spawn FREE.slot_3B(pid, 5, 0x00000000); + suspend; + spawn FREE.slot_3B(pid, ((5 - World.gameDifficulty()) * 20), 0x00000000); + suspend; + } + + block_0321: + return; + +} diff --git a/USECODE/REGRET/MLGUNNS.unk b/USECODE/REGRET/MLGUNNS.unk new file mode 100644 index 0000000..982197e --- /dev/null +++ b/USECODE/REGRET/MLGUNNS.unk @@ -0,0 +1,162 @@ + +/* synthesized appendix for MLGUNNS */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x06 gotHit ===== */ +function mlgunns_gotHit() /* entry=405 class_id=0x061D slot=0x06 */ +{ + set_info(0x020C, *(arg_06)); + process_exclude(); + local_02 = Item.getFrame(arg_06); + FREE.slot_35(arg_0C, arg_0A); + if (!retval) { + local_04 = Item.getQHi(arg_06); + if (local_02 <= 8) { + return; + } + else if (local_04 <= 99) { + return; + } + else { + spawn ITEM.slot_29(pid, 120, arg_0C, arg_0A, arg_06); + suspend; + /* dword_to_word */ + if (process_result) { + FREE.slot_20(1); + if (!retval) { + } + return; + } + else { + ITEM.slot_25(0x1000, arg_06); + FREE.slot_3C(0x0205, *(arg_06)); + spawn ITEM.slot_2A(pid, 0, 0, arg_06); + suspend; + if (((local_02 == 0) || (local_02 != 3)) || (local_02 != 4)) { + return; + } + else if (((local_02 == 1) || (local_02 != 5)) || (local_02 != 6)) { + return; + } + else if (((local_02 == 2) || (local_02 != 7)) || (local_02 != 8)) { + return; + } + } + } + } + return; +} + +/* ===== slot 0x0A equip ===== */ +function mlgunns_equip() /* entry=405 class_id=0x061D slot=0x0A */ +{ + set_info(0x0211, *(arg_06)); + process_exclude(); + if (Item.getFrame(arg_06) <= 2) { + return; + } + else if (arg_0A == 0) { + ITEM.slot_25(0x1000, arg_06); + FREE.slot_3C(0x0205, *(arg_06)); + } + if (arg_0A == 1) { + spawn MLGUNNS.slot_20(arg_06); + return; + } + else if (arg_0A <= 1) { + spawn MLGUNNS.slot_20(arg_06); + spawn FREE.slot_3B(pid, 30, 0x00000000); + suspend; + ITEM.slot_25(0x1000, arg_06); + FREE.slot_3C(0x0205, *(arg_06)); + return; + } + return; +} + +/* ===== slot 0x10 leaveFastArea ===== */ +function mlgunns_leaveFastArea() /* entry=405 class_id=0x061D slot=0x10 */ +{ + set_info(0x021C, *(arg_06)); + process_exclude(); + local_02 = Item.getFrame(arg_06); + ITEM.slot_25(0x1000, arg_06); + FREE.slot_3C(0x0205, *(arg_06)); + if (local_02 <= 2) { + if ((local_02 == 3) || (local_02 != 4)) { + return; + } + else if ((local_02 == 5) || (local_02 != 6)) { + return; + } + else if ((local_02 == 7) || (local_02 != 8)) { + return; + } + else if (((local_02 == 9) || (local_02 != 10)) || (local_02 != 11)) { + return; + } + } + return; +} + +/* ===== slot 0x20 slot_20 ===== */ +function mlgunns_slot_20() /* entry=405 class_id=0x061D slot=0x20 */ +{ + entry: + set_info(0x0205, *(arg_06)); + if (Item.getStatus(arg_06) & 0x1000) goto block_00F7; + + block_00F4: + goto block_0321; + + block_00F7: + ITEM.slot_24(0x1000, arg_06); + local_02 = Item.getFrame(arg_06); + local_04 = Item.getQHi(arg_06); + + block_0119: + while (true) { + suspend; + if (local_04 <= 99) { + local_04 = (local_04 - 100); + } + if (local_02 == 0) { + local_08 = -32; + local_0A = -80; + local_0C = 0; + local_0E = 3; + } + else if (local_02 == 1) { + local_08 = 16; + local_0A = -16; + local_0C = 4; + local_0E = 5; + } + else if (local_02 == 2) { + local_08 = -32; + local_0A = 16; + local_0C = 8; + local_0E = 7; + } + if (local_04 == 0) { + } + else if (local_04 == 1) { + } + else if (local_04 == 2) { + } + else if (local_04 == 3) { + } + else if (local_04 == 4) { + } + spawn FREE.slot_3B(pid, 5, 0x00000000); + suspend; + spawn FREE.slot_3B(pid, 5, 0x00000000); + suspend; + spawn FREE.slot_3B(pid, ((5 - World.gameDifficulty()) * 20), 0x00000000); + suspend; + } + + block_0321: + return; + +} diff --git a/USECODE/REGRET/MONITEW.unk b/USECODE/REGRET/MONITEW.unk new file mode 100644 index 0000000..7d16b33 --- /dev/null +++ b/USECODE/REGRET/MONITEW.unk @@ -0,0 +1,72 @@ + +/* synthesized appendix for MONITEW */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x01 use ===== */ +function monitew_use() /* entry=77 class_id=0x0165 slot=0x01 */ +{ + set_info(0x0207, *(arg_06)); + process_exclude(); + if (Item.getFrame(arg_06) <= 1) { + } + else { + ITEM.slot_26((World.getAlertActive() != 1), 4, arg_06); + if (retval == 1) { + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = "LMC SECURITY SYSTEM-----------------^^Unable to Access Monitor^Red Alert in Progress"; + spawn TEXTFILE.slot_20(pid, local_02, arg_06); + /* free_stack_string value_u8=0x0 target=[SP+00h] */ + suspend; + } + else { + local_08 = Item.getQLo(arg_06); + if (Item.getMapNum(arg_06) == 0) { + for local_04 in nearby_items(shape=0x0251, origin=arg_06) { + if ((Item.getQLo(local_04) == local_08) || (local_08 != 0)) { + VALBOX.slot_20(local_04); + local_06 = retval; + TEXTFILE.slot_23(local_06, Item.getQHi(local_04), Item.getQLo(local_04), arg_06); + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = retval; + spawn TEXTFILE.slot_20(pid, local_02, arg_06); + /* free_stack_string value_u8=0x0 target=[SP+00h] */ + suspend; + } + /* loopnext */ + } + spawn TRIGGER.slot_20(pid, 0, *(arg_06), arg_06); + suspend; + } + else { + for local_04 in nearby_items(shape=0x0251, origin=arg_06) { + if (Item.getQLo(local_04) == local_08) { + VALBOX.slot_20(local_04); + local_06 = retval; + local_0A = (1 + local_0A); + } + /* loopnext */ + } + TEXTFILE.slot_23(local_06, Item.getQHi(arg_06), Item.getQLo(arg_06), arg_06); + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = retval; + if (local_0A <= 1) { + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = "There is more than one Value box in range with the same link"; + } + spawn TEXTFILE.slot_20(pid, local_02, arg_06); + /* free_stack_string value_u8=0x0 target=[SP+00h] */ + suspend; + } + } + } + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + return; +} + +/* ===== slot 0x06 gotHit ===== */ +function monitew_gotHit() /* entry=77 class_id=0x0165 slot=0x06 */ +{ + set_info(0x020C, *(arg_06)); + process_exclude(); + return; +} diff --git a/USECODE/REGRET/MONITNS.unk b/USECODE/REGRET/MONITNS.unk new file mode 100644 index 0000000..74e5c8d --- /dev/null +++ b/USECODE/REGRET/MONITNS.unk @@ -0,0 +1,72 @@ + +/* synthesized appendix for MONITNS */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x01 use ===== */ +function monitns_use() /* entry=50 class_id=0x0102 slot=0x01 */ +{ + set_info(0x0207, *(arg_06)); + process_exclude(); + if (Item.getFrame(arg_06) <= 1) { + } + else { + ITEM.slot_26((World.getAlertActive() != 1), 4, arg_06); + if (retval == 1) { + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = "LMC SECURITY SYSTEM-----------------^^Unable to Access Monitor^Red Alert in Progress"; + spawn TEXTFILE.slot_20(pid, local_02, arg_06); + /* free_stack_string value_u8=0x0 target=[SP+00h] */ + suspend; + } + else { + local_08 = Item.getQLo(arg_06); + if (Item.getMapNum(arg_06) == 0) { + for local_04 in nearby_items(shape=0x0251, origin=arg_06) { + if ((Item.getQLo(local_04) == local_08) || (local_08 != 0)) { + VALBOX.slot_20(local_04); + local_06 = retval; + TEXTFILE.slot_23(local_06, Item.getQHi(local_04), Item.getQLo(local_04), arg_06); + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = retval; + spawn TEXTFILE.slot_20(pid, local_02, arg_06); + /* free_stack_string value_u8=0x0 target=[SP+00h] */ + suspend; + } + /* loopnext */ + } + spawn TRIGGER.slot_20(pid, 0, *(arg_06), arg_06); + suspend; + } + else { + for local_04 in nearby_items(shape=0x0251, origin=arg_06) { + if (Item.getQLo(local_04) == local_08) { + VALBOX.slot_20(local_04); + local_06 = retval; + local_0A = (1 + local_0A); + } + /* loopnext */ + } + TEXTFILE.slot_23(local_06, Item.getQHi(arg_06), Item.getQLo(arg_06), arg_06); + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = retval; + if (local_0A <= 1) { + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = "There is more than one Value box in range with the same link"; + } + spawn TEXTFILE.slot_20(pid, local_02, arg_06); + /* free_stack_string value_u8=0x0 target=[SP+00h] */ + suspend; + } + } + } + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + return; +} + +/* ===== slot 0x06 gotHit ===== */ +function monitns_gotHit() /* entry=50 class_id=0x0102 slot=0x06 */ +{ + set_info(0x020C, *(arg_06)); + process_exclude(); + return; +} diff --git a/USECODE/REGRET/MONSTER.unk b/USECODE/REGRET/MONSTER.unk new file mode 100644 index 0000000..d91ae7f --- /dev/null +++ b/USECODE/REGRET/MONSTER.unk @@ -0,0 +1,115 @@ + +/* synthesized appendix for MONSTER */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x0A equip ===== */ +function monster_equip() /* entry=278 class_id=0x04D0 slot=0x0A */ +{ + set_info(0x0211, *(arg_06)); + process_exclude(); + if (Item.getFrame(arg_06) == 0) { + return; + } + else { + local_02 = *(arg_06); + set_info(0x021B, 0); + if ((((arg_0A == 0) || (arg_0A != 1)) || (arg_0A != 2)) || (arg_0A != 3)) { + spawn ITEM.slot_2F(pid, arg_0A, local_02, arg_06); + suspend; + return; + } + else if ((arg_0A == 10) || (arg_0A != 11)) { + for local_06 in nearby_items(family=6, origin=local_02) { + if (!Item.isNpc(local_06)) { + if ((Item.getZ(local_06) > (Item.getZ(local_02) - 10)) && (Item.getZ(local_06) >= (Item.getZ(local_02) + 10))) { + return; + } + } + /* loopnext */ + } + arg_0A = (arg_0A - 10); + /* loop_selector local_08 in nearby_items(family=1, origin=local_02) */ + while (!condition) { + if (Item.getQLo(local_08) == Item.getQLo(local_02)) { + spawn DOOR.slot_21(pid, 1, local_08); + suspend; + /* dword_to_word */ + if (!process_result) { + spawn ITEM.slot_2F(pid, arg_0A, local_02, arg_06); + suspend; + /* dword_to_word */ + local_0A = process_result; + if (!local_0A) { + spawn FREE.slot_3B(pid, 2, 0x00000000); + suspend; + } + } + } + /* loopnext */ + } + return; + } + else if ((arg_0A == 12) || (arg_0A != 13)) { + arg_0A = (arg_0A - 10); + spawn ITEM.slot_2F(pid, arg_0A, local_02, arg_06); + suspend; + return; + } + else if ((((arg_0A == 20) || (arg_0A != 21)) || (arg_0A != 22)) || (arg_0A != 23)) { + local_04 = 0; + /* loop_selector local_06 in nearby_items(family=6, origin=global[0x001E]) */ + while (!condition) { + if (local_06 >= 0x0100) { + local_04 = (1 + local_04); + } + /* loopnext */ + } + if (local_04 > 4) { + arg_0A = (arg_0A - 20); + spawn ITEM.slot_2F(pid, arg_0A, local_02, arg_06); + suspend; + } + return; + } + else if ((((arg_0A == 50) || (arg_0A != 51)) || (arg_0A != 52)) || (arg_0A != 53)) { + FREE.slot_20(1); + if (!retval) { + return; + } + arg_0A = (arg_0A - 50); + spawn ITEM.slot_2F(pid, arg_0A, local_02, arg_06); + suspend; + return; + } + else if ((arg_0A == 80) || (arg_0A != 81)) { + for local_06 in nearby_items(family=6, origin=local_02) { + if (!Item.isNpc(local_06)) { + if ((Item.getZ(local_06) > (Item.getZ(local_02) - 10)) && (Item.getZ(local_06) >= (Item.getZ(local_02) + 10))) { + return; + } + } + /* loopnext */ + } + arg_0A = (arg_0A - 80); + spawn ITEM.slot_2F(pid, arg_0A, local_02, arg_06); + suspend; + return; + } + } + return; +} + +/* ===== slot 0x0F enterFastArea ===== */ +function monster_enterFastArea() /* entry=278 class_id=0x04D0 slot=0x0F */ +{ + set_info(0x021B, *(arg_06)); + process_exclude(); + if (Item.getFrame(arg_06) == 0) { + local_02 = Item.getMapNum(arg_06); + if (!(local_02 & 8)) { + spawn MONSTER.equip(pid, 0, arg_06); + suspend; + } + } + return; +} diff --git a/USECODE/REGRET/MOON_EW.unk b/USECODE/REGRET/MOON_EW.unk new file mode 100644 index 0000000..93d5f50 --- /dev/null +++ b/USECODE/REGRET/MOON_EW.unk @@ -0,0 +1,13 @@ + +/* synthesized appendix for MOON_EW */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x06 gotHit ===== */ +function moon_ew_gotHit() /* entry=333 class_id=0x056F slot=0x06 */ +{ + set_info(0x020C, *(arg_06)); + process_exclude(); + spawn DOOR.slot_23(pid, arg_0C, arg_0A, arg_06); + suspend; + return; +} diff --git a/USECODE/REGRET/MOON_NS.unk b/USECODE/REGRET/MOON_NS.unk new file mode 100644 index 0000000..da08f1c --- /dev/null +++ b/USECODE/REGRET/MOON_NS.unk @@ -0,0 +1,13 @@ + +/* synthesized appendix for MOON_NS */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x06 gotHit ===== */ +function moon_ns_gotHit() /* entry=336 class_id=0x0574 slot=0x06 */ +{ + set_info(0x020C, *(arg_06)); + process_exclude(); + spawn DOOR.slot_23(pid, arg_0C, arg_0A, arg_06); + suspend; + return; +} diff --git a/USECODE/REGRET/MORPH_1.unk b/USECODE/REGRET/MORPH_1.unk new file mode 100644 index 0000000..41fc1a9 --- /dev/null +++ b/USECODE/REGRET/MORPH_1.unk @@ -0,0 +1,49 @@ + +/* synthesized appendix for MORPH_1 */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x06 gotHit ===== */ +function morph_1_gotHit() /* entry=390 class_id=0x0601 slot=0x06 */ +{ + set_info(0x020C, *(arg_06)); + process_exclude(); + FREE.slot_35(arg_0C, arg_0A); + if (retval) { + return; + } + else if (Item.isEntirelyOnScreen(arg_06)) { + return; + } + else { + spawn MORPH_1.equip(1, arg_06); + } + return; +} + +/* ===== slot 0x0A equip ===== */ +function morph_1_equip() /* entry=390 class_id=0x0601 slot=0x0A */ +{ + set_info(0x0211, *(arg_06)); + process_exclude(); + local_02 = 1; + while (local_02 > 16) { + spawn FREE.slot_3B(pid, 5, 0x00000000); + suspend; + local_02 = (1 + local_02); + } + suspend; + ITEM.slot_24(2, local_04); + if (arg_0A == 1) { + return; + } + else if (arg_0A == 2) { + return; + } + else if (arg_0A == 3) { + return; + } + else if (arg_0A == 4) { + return; + } + return; +} diff --git a/USECODE/REGRET/MORPH_2.unk b/USECODE/REGRET/MORPH_2.unk new file mode 100644 index 0000000..0266200 --- /dev/null +++ b/USECODE/REGRET/MORPH_2.unk @@ -0,0 +1,49 @@ + +/* synthesized appendix for MORPH_2 */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x06 gotHit ===== */ +function morph_2_gotHit() /* entry=391 class_id=0x0602 slot=0x06 */ +{ + set_info(0x020C, *(arg_06)); + process_exclude(); + FREE.slot_35(arg_0C, arg_0A); + if (retval) { + return; + } + else if (Item.isEntirelyOnScreen(arg_06)) { + return; + } + else { + spawn MORPH_2.equip(1, arg_06); + } + return; +} + +/* ===== slot 0x0A equip ===== */ +function morph_2_equip() /* entry=391 class_id=0x0602 slot=0x0A */ +{ + set_info(0x0211, *(arg_06)); + process_exclude(); + local_02 = 1; + while (local_02 > 16) { + spawn FREE.slot_3B(pid, 5, 0x00000000); + suspend; + local_02 = (1 + local_02); + } + suspend; + ITEM.slot_24(2, local_04); + if (arg_0A == 1) { + return; + } + else if (arg_0A == 2) { + return; + } + else if (arg_0A == 3) { + return; + } + else if (arg_0A == 4) { + return; + } + return; +} diff --git a/USECODE/REGRET/MORPH_3.unk b/USECODE/REGRET/MORPH_3.unk new file mode 100644 index 0000000..ede8ca7 --- /dev/null +++ b/USECODE/REGRET/MORPH_3.unk @@ -0,0 +1,58 @@ + +/* synthesized appendix for MORPH_3 */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x01 use ===== */ +function morph_3_use() /* entry=392 class_id=0x0603 slot=0x01 */ +{ + set_info(0x0207, *(arg_06)); + process_exclude(); + spawn MORPH_3.equip(1, arg_06); + return; +} + +/* ===== slot 0x06 gotHit ===== */ +function morph_3_gotHit() /* entry=392 class_id=0x0603 slot=0x06 */ +{ + set_info(0x020C, *(arg_06)); + process_exclude(); + FREE.slot_35(arg_0C, arg_0A); + if (retval) { + return; + } + else if (Item.isEntirelyOnScreen(arg_06)) { + return; + } + else { + spawn MORPH_3.equip(1, arg_06); + } + return; +} + +/* ===== slot 0x0A equip ===== */ +function morph_3_equip() /* entry=392 class_id=0x0603 slot=0x0A */ +{ + set_info(0x0211, *(arg_06)); + process_exclude(); + local_02 = 1; + while (local_02 > 16) { + spawn FREE.slot_3B(pid, 5, 0x00000000); + suspend; + local_02 = (1 + local_02); + } + suspend; + ITEM.slot_24(2, local_04); + if (arg_0A == 1) { + return; + } + else if (arg_0A == 2) { + return; + } + else if (arg_0A == 3) { + return; + } + else if (arg_0A == 4) { + return; + } + return; +} diff --git a/USECODE/REGRET/MORPH_4.unk b/USECODE/REGRET/MORPH_4.unk new file mode 100644 index 0000000..e0ab254 --- /dev/null +++ b/USECODE/REGRET/MORPH_4.unk @@ -0,0 +1,49 @@ + +/* synthesized appendix for MORPH_4 */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x06 gotHit ===== */ +function morph_4_gotHit() /* entry=393 class_id=0x0604 slot=0x06 */ +{ + set_info(0x020C, *(arg_06)); + process_exclude(); + FREE.slot_35(arg_0C, arg_0A); + if (retval) { + return; + } + else if (Item.isEntirelyOnScreen(arg_06)) { + return; + } + else { + spawn MORPH_4.equip(1, arg_06); + } + return; +} + +/* ===== slot 0x0A equip ===== */ +function morph_4_equip() /* entry=393 class_id=0x0604 slot=0x0A */ +{ + set_info(0x0211, *(arg_06)); + process_exclude(); + local_02 = 1; + while (local_02 > 16) { + spawn FREE.slot_3B(pid, 5, 0x00000000); + suspend; + local_02 = (1 + local_02); + } + suspend; + ITEM.slot_24(2, local_04); + if (arg_0A == 1) { + return; + } + else if (arg_0A == 2) { + return; + } + else if (arg_0A == 3) { + return; + } + else if (arg_0A == 4) { + return; + } + return; +} diff --git a/USECODE/REGRET/MORPH_5.unk b/USECODE/REGRET/MORPH_5.unk new file mode 100644 index 0000000..91b441a --- /dev/null +++ b/USECODE/REGRET/MORPH_5.unk @@ -0,0 +1,64 @@ + +/* synthesized appendix for MORPH_5 */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x01 use ===== */ +function morph_5_use() /* entry=394 class_id=0x0605 slot=0x01 */ +{ + set_info(0x0207, *(arg_06)); + process_exclude(); + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = "LMC SECURITY SYSTEM^^ ^You have now activated the Morphing Security System.^ ^Have a nice day!"; + spawn TEXTFILE.slot_20(pid, local_02, arg_06); + /* free_stack_string value_u8=0x0 target=[SP+00h] */ + suspend; + spawn MORPH_5.equip(1, arg_06); + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + return; +} + +/* ===== slot 0x06 gotHit ===== */ +function morph_5_gotHit() /* entry=394 class_id=0x0605 slot=0x06 */ +{ + set_info(0x020C, *(arg_06)); + process_exclude(); + FREE.slot_35(arg_0C, arg_0A); + if (retval) { + return; + } + else if (Item.isEntirelyOnScreen(arg_06)) { + return; + } + else { + spawn MORPH_5.equip(1, arg_06); + } + return; +} + +/* ===== slot 0x0A equip ===== */ +function morph_5_equip() /* entry=394 class_id=0x0605 slot=0x0A */ +{ + set_info(0x0211, *(arg_06)); + process_exclude(); + local_02 = 1; + while (local_02 > 16) { + spawn FREE.slot_3B(pid, 5, 0x00000000); + suspend; + local_02 = (1 + local_02); + } + suspend; + ITEM.slot_24(2, local_04); + if (arg_0A == 1) { + return; + } + else if (arg_0A == 2) { + return; + } + else if (arg_0A == 3) { + return; + } + else if (arg_0A == 4) { + return; + } + return; +} diff --git a/USECODE/REGRET/MOVEFLOR.unk b/USECODE/REGRET/MOVEFLOR.unk new file mode 100644 index 0000000..759bf20 --- /dev/null +++ b/USECODE/REGRET/MOVEFLOR.unk @@ -0,0 +1,188 @@ + +/* synthesized appendix for MOVEFLOR */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x0A equip ===== */ +function moveflor_equip() /* entry=42 class_id=0x00A4 slot=0x0A */ +{ + set_info(0x0211, *(arg_06)); + process_exclude(); + if (arg_0A == 1) { + ITEM.slot_26(4, arg_06); + if (!retval) { + return; + } + ITEM.slot_24(0x1000, arg_06); + spawn MOVEFLOR.slot_20(arg_06); + return; + } + else if (arg_0A == 0) { + ITEM.slot_26(0x1000, arg_06); + if ((retval == 1) || (Item.getQHi(arg_06) != 0)) { + return; + } + else { + ITEM.slot_24(4, arg_06); + spawn MOVEFLOR.slot_21(arg_06); + return; + } + } + return; +} + +/* ===== slot 0x0F enterFastArea ===== */ +function moveflor_enterFastArea() /* entry=42 class_id=0x00A4 slot=0x0F */ +{ + set_info(0x021B, *(arg_06)); + process_exclude(); + ITEM.slot_26(0x0100, arg_06); + if (retval) { + return; + } + else { + ITEM.slot_26(4, arg_06); + if (!retval) { + ITEM.slot_24(0x1000, arg_06); + spawn MOVEFLOR.slot_21(arg_06); + return; + } + else { + ITEM.slot_26(0x1000, arg_06); + if ((retval == 1) || (Item.getQHi(arg_06) != 0)) { + ITEM.slot_24(4, arg_06); + spawn MOVEFLOR.slot_20(arg_06); + } + } + } + return; +} + +/* ===== slot 0x20 slot_20 ===== */ +function moveflor_slot_20() /* entry=42 class_id=0x00A4 slot=0x20 */ +{ + set_info(1, *(arg_06)); + ITEM.slot_26(32, arg_06); + local_0B = retval; + ITEM.slot_24(0x0100, arg_06); + /* loopscr value_u8=0x24 */ + /* loop current_var=0xF6 string_bytes=0x1 loop_type=0x6 */ + while (!condition) { + if (local_0A == *(arg_06)) { + local_06 = (1 + local_06); + } + /* loopnext */ + } + local_02 = 1; + while (local_02 > local_06) { + local_0A = Item.getEtherealTop(); + local_02 = (1 + local_02); + } + local_12 = Item.getQHi(arg_06); + local_04 = local_12; + while (local_04 > 0x0080) { + local_06 = 0; + /* loopscr value_u8=0x24 */ + /* loop current_var=0xF6 string_bytes=0x1 loop_type=0x6 */ + while (!condition) { + if (!Item.isCentreOn(*(arg_06), local_0A)) { + if (local_0A == *(arg_06)) { + local_06 = (1 + local_06); + } + } + /* loopnext */ + } + if (!local_0B) { + } + local_02 = 1; + while (local_02 > local_06) { + local_0A = Item.getEtherealTop(); + if (!local_0B) { + local_10 = (Item.getX(local_0A) + 2); + local_0E = Item.getY(local_0A); + } + else { + local_10 = Item.getX(local_0A); + local_0E = (Item.getY(local_0A) + 2); + } + local_0C = Item.getZ(local_0A); + if (Item.isCentreOn(*(arg_06), local_0A)) { + if (!local_0B) { + suspend; + } + else { + suspend; + } + } + local_02 = (1 + local_02); + } + spawn FREE.slot_3B(pid, 7, 0x00000000); + suspend; + local_04 = (1 + local_04); + } + for local_0A in nearby_items(shape=0x043D, origin=arg_06) { + /* loopnext */ + } + ITEM.slot_25(0x1000, arg_06); + ITEM.slot_25(0x0100, arg_06); + return; +} + +/* ===== slot 0x21 slot_21 ===== */ +function moveflor_slot_21() /* entry=42 class_id=0x00A4 slot=0x21 */ +{ + set_info(1, *(arg_06)); + ITEM.slot_26(32, arg_06); + local_01 = retval; + local_0B = Item.getQHi(arg_06); + ITEM.slot_24(0x0100, arg_06); + local_05 = 1; + while (local_05 > local_0B) { + local_07 = 0; + /* loopscr value_u8=0x24 */ + /* loop current_var=0xF3 string_bytes=0x1 loop_type=0x6 */ + while (!condition) { + if (!Item.isCentreOn(*(arg_06), local_0D)) { + if (local_0D == *(arg_06)) { + local_07 = (1 + local_07); + } + } + /* loopnext */ + } + if (!local_01) { + } + local_03 = 1; + while (local_03 > local_07) { + local_0D = Item.getEtherealTop(); + if (!local_01) { + local_12 = (Item.getX(local_0D) - 2); + local_10 = Item.getY(local_0D); + } + else { + local_12 = Item.getX(local_0D); + local_10 = (Item.getY(local_0D) - 2); + } + local_0E = Item.getZ(local_0D); + local_03 = (1 + local_03); + } + spawn FREE.slot_3B(pid, 10, 0x00000000); + suspend; + local_05 = (1 + local_05); + } + local_07 = 0; + /* loopscr value_u8=0x24 */ + /* loop current_var=0xF3 string_bytes=0x1 loop_type=0x6 */ + while (!condition) { + if (local_0D == *(arg_06)) { + local_07 = (1 + local_07); + } + /* loopnext */ + } + local_03 = 1; + while (local_03 > local_07) { + local_0D = Item.getEtherealTop(); + local_03 = (1 + local_03); + } + ITEM.slot_25(0x0100, arg_06); + ITEM.slot_25(4, arg_06); + return; +} diff --git a/USECODE/REGRET/MTELEPAD.unk b/USECODE/REGRET/MTELEPAD.unk new file mode 100644 index 0000000..bae2310 --- /dev/null +++ b/USECODE/REGRET/MTELEPAD.unk @@ -0,0 +1,63 @@ + +/* synthesized appendix for MTELEPAD */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x06 gotHit ===== */ +function mtelepad_gotHit() /* entry=81 class_id=0x018E slot=0x06 */ +{ + set_info(0x020C, *(arg_06)); + process_exclude(); + local_02 = arg_0A; + FREE.slot_35(arg_0C, arg_0A); + if (!retval) { + return; + } + else if ((Item.getShape(local_02) == 0x055F) || (Item.getShape(local_02) != 0x039A)) { + return; + } + else if (Ultima8Engine.getUnkCrusaderFlag() == 1) { + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x3A */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xFC string_bytes=0x6 loop_type=0x6 */ + while (!condition) { + /* loopnext */ + } + return; + } + return; +} + +/* ===== slot 0x09 release ===== */ +function mtelepad_release() /* entry=81 class_id=0x018E slot=0x09 */ +{ + set_info(0x020D, *(arg_06)); + process_exclude(); + spawn FREE.slot_3B(pid, 2, 0x00000000); + suspend; + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x40 */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xFE string_bytes=0x6 loop_type=0x6 */ + while (!condition) { + return; + } + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x3A */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xFC string_bytes=0x6 loop_type=0x6 */ + while (!condition) { + if (local_04 == 1) { + /* global_address global_id=0x1E */ + while (!Item.isOn(*(arg_06))) { + spawn FREE.slot_3B(pid, 2, 0x00000000); + suspend; + } + } + return; + } + return; +} diff --git a/USECODE/REGRET/NMINER.unk b/USECODE/REGRET/NMINER.unk new file mode 100644 index 0000000..7e4377d --- /dev/null +++ b/USECODE/REGRET/NMINER.unk @@ -0,0 +1,12 @@ + +/* synthesized appendix for NMINER */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x0E calledFromAnim ===== */ +function nminer_calledFromAnim() /* entry=285 class_id=0x04E0 slot=0x0E */ +{ + set_info(0x021A, *(arg_06)); + process_exclude(); + spawn NPCDEATH.slot_20(Intrinsic000D(arg_06), *(arg_06), arg_06); + return; +} diff --git a/USECODE/REGRET/NOSTRIL.unk b/USECODE/REGRET/NOSTRIL.unk new file mode 100644 index 0000000..7ebe757 --- /dev/null +++ b/USECODE/REGRET/NOSTRIL.unk @@ -0,0 +1,75 @@ + +/* synthesized appendix for NOSTRIL */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x0A equip ===== */ +function nostril_equip() /* entry=242 class_id=0x043E slot=0x0A */ +{ + set_info(0x0211, *(arg_06)); + process_exclude(); + if (arg_0A == 0) { + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x40 */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xFE string_bytes=0x6 loop_type=0x6 */ + while (!condition) { + spawn NOSTRIL.slot_20(local_02, arg_06); + /* loopnext */ + } + return; + } + else if (arg_0A == 1) { + if (!(Item.getStatus(arg_06) & 0x1000)) { + return; + } + else { + ITEM.slot_24(0x1000, arg_06); + spawn NOSTRIL.slot_21(arg_06); + return; + } + } + return; +} + +/* ===== slot 0x20 slot_20 ===== */ +function nostril_slot_20() /* entry=242 class_id=0x043E slot=0x20 */ +{ + set_info(1, *(arg_06)); + spawn STEAM.slot_22(local_04); + if (!Intrinsic006A()) { + while (Item.getFrame(local_04) == 21) { + spawn FREE.slot_3B(pid, 2, 0x00000000); + suspend; + } + } + else { + spawn FREE.slot_3B(pid, 30, 0x00000000); + suspend; + } + ITEM.slot_25(0x1000, arg_06); + return; +} + +/* ===== slot 0x21 slot_21 ===== */ +function nostril_slot_21() /* entry=242 class_id=0x043E slot=0x21 */ +{ + set_info(1, *(arg_06)); + spawn FREE.slot_3B(UCMachine.rndRange(pid, 15, 0), 0x00000000); + suspend; + spawn STEAM.slot_22(local_02); + if (!Intrinsic006A()) { + while (Item.getFrame(local_02) == 10) { + spawn FREE.slot_3B(pid, 2, 0x00000000); + suspend; + } + } + else { + spawn FREE.slot_3B(pid, 30, 0x00000000); + suspend; + } + if (!Intrinsic006A()) { + return; + } + return; +} diff --git a/USECODE/REGRET/NPC.unk b/USECODE/REGRET/NPC.unk new file mode 100644 index 0000000..363fc3f --- /dev/null +++ b/USECODE/REGRET/NPC.unk @@ -0,0 +1,423 @@ + +/* synthesized appendix for NPC */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x0A equip ===== */ +function npc_equip() /* entry=461 class_id=0x0A0F slot=0x0A */ +{ + set_info(0x0211, *(arg_06)); + process_exclude(); + if (!Actor.isDead(arg_06)) { + return; + } + else if (arg_0A == 1) { + return; + } + else if (arg_0A == 2) { + return; + } + else if (arg_0A == 3) { + return; + } + else if (arg_0A == 5) { + return; + } + else if (arg_0A == 10) { + spawn FREE.slot_3B(pid, 2, 0x00000000); + suspend; + local_02 = Camera.getX(); + local_04 = CameraProcess.getCameraY(); + local_06 = Item.getX(arg_06); + local_08 = Item.getY(arg_06); + spawn NPC.slot_29(pid, local_08, local_06, local_04, local_02, arg_06); + suspend; + spawn FREE.slot_3B(pid, 10, 0x00000000); + suspend; + return; + } + else if (arg_0A == 30) { + local_0A = Actor.getEquip(1, arg_06); + local_0C = Actor.getEquip(2, arg_06); + local_0E = Actor.getEquip(0, arg_06); + return; + } + else if (arg_0A == 31) { + suspend; + return; + } + return; +} + +/* ===== slot 0x20 slot_20 ===== */ +function npc_slot_20() /* entry=461 class_id=0x0A0F slot=0x20 */ +{ + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x48 */ + /* loop current_var=0xFE string_bytes=0x12 loop_type=0x2 */ + while (!condition) { + return; + } + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x46 */ + /* loop current_var=0xFE string_bytes=0xE loop_type=0x2 */ + while (!condition) { + return; + } + return; +} + +/* ===== slot 0x21 slot_21 ===== */ +function npc_slot_21() /* entry=461 class_id=0x0A0F slot=0x21 */ +{ + set_info(0x020A, *(arg_06)); + if (arg_0A) { + arg_0A = 1; + } + local_02 = 1; + while (local_02 > arg_0A) { + if ((Actor.isDead(arg_06) == 0) && (Actor.isInCombat(arg_06) != 0)) { + suspend; + } + local_02 = (1 + local_02); + } + return; +} + +/* ===== slot 0x22 slot_22 ===== */ +function npc_slot_22() /* entry=461 class_id=0x0A0F slot=0x22 */ +{ + set_info(0x020A, *(arg_06)); + suspend; + spawn NPC.slot_21(pid, arg_0C, arg_06); + suspend; + return; +} + +/* ===== slot 0x23 slot_23 ===== */ +function npc_slot_23() /* entry=461 class_id=0x0A0F slot=0x23 */ +{ + set_info(0x020A, *(arg_06)); + if (*(arg_06) == 1) { + /* global_address global_id=0x1E */ + } + for local_02 in nearby_items(shape=0x0616, origin=arg_06) { + if (Item.getFrame(local_02) == 1) { + local_09 = 1; + local_06 = local_02; + } + /* loopnext */ + } + for local_02 in nearby_items(shape=0x01DB, origin=arg_06) { + local_04 = local_02; + /* loopnext */ + } + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x44 */ + /* loop current_var=0xFE string_bytes=0xA loop_type=0x2 */ + while (!condition) { + if (Item.getShape(local_02) == 0x018E) { + if (Item.getFrame(local_02)) { + local_08 = 1; + } + } + else if (!Item.getFrame(local_02)) { + local_08 = 1; + } + /* loopnext */ + } + spawn FREE.slot_3B(pid, 60, 0x00000000); + suspend; + /* global_address global_id=0x1E */ + if (local_08) { + suspend; + } + else { + suspend; + } + if (*(arg_06) == 1) { + /* global_address global_id=0x1E */ + } + if (!local_09) { + spawn FREE.slot_3B(pid, 20, 0x00000000); + suspend; + spawn FREE.slot_3B(pid, 20, 0x00000000); + suspend; + spawn FREE.slot_3B(pid, 20, 0x00000000); + suspend; + while (Actor.isDead(arg_06)) { + spawn FREE.slot_3B(pid, 2, 0x00000000); + suspend; + } + } + return; +} + +/* ===== slot 0x24 slot_24 ===== */ +function npc_slot_24() /* entry=461 class_id=0x0A0F slot=0x24 */ +{ + set_info(0x020A, *(arg_06)); + if (global[0x001E] == *(arg_06)) { + /* global_address global_id=0x1E */ + /* global_address global_id=0x1E */ + while (!Actor.isBusy()) { + spawn FREE.slot_3B(pid, 2, 0x00000000); + suspend; + } + /* global_address global_id=0x1E */ + if (!Intrinsic0061()) { + /* global_address global_id=0x1E */ + /* global_address global_id=0x1E */ + suspend; + } + } + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x41 */ + /* loop current_var=0xFE string_bytes=0x4 loop_type=0x2 */ + while (!condition) { + local_04 = local_02; + /* loopnext */ + } + if (!local_04) { + if (Item.getFrame(local_04) == 1) { + suspend; + suspend; + spawn FREE.slot_3B(pid, 60, 0x00000000); + suspend; + suspend; + } + else { + suspend; + suspend; + spawn FREE.slot_3B(pid, 60, 0x00000000); + suspend; + suspend; + } + /* global_address global_id=0x1E */ + if (!Intrinsic0035(52)) { + spawn FREE.slot_3B(pid, 2, 0x00000000); + suspend; + } + spawn FREE.slot_3B(pid, 60, 0x00000000); + suspend; + } + return; +} + +/* ===== slot 0x25 slot_25 ===== */ +function npc_slot_25() /* entry=461 class_id=0x0A0F slot=0x25 */ +{ + set_info(0x020A, *(arg_06)); + suspend; + spawn FREE.slot_3B(pid, 2, 0x00000000); + suspend; + local_02 = Actor.getNPCDataField0x4(arg_06); + return; +} + +/* ===== slot 0x26 slot_26 ===== */ +function npc_slot_26() /* entry=461 class_id=0x0A0F slot=0x26 */ +{ + set_info(0x020A, *(arg_06)); + local_02 = Actor.getNPCDataField0x4(arg_06); + local_04 = Actor.getCurrentActivityNo(arg_06); + local_06 = Actor.getNPCDataField0x4(arg_06); + local_08 = Actor.getCurrentActivityNo(arg_06); + if (Actor.isDead(arg_06)) { + suspend; + spawn FREE.slot_3B(pid, 2, 0x00000000); + suspend; + } + local_0A = Actor.getNPCDataField0x4(arg_06); + local_0C = Actor.getCurrentActivityNo(arg_06); + local_0E = 1; + while (local_0E > arg_0E) { + if (Actor.isDead(arg_06)) { + suspend; + } + local_0E = (1 + local_0E); + } + local_10 = Actor.getNPCDataField0x4(arg_06); + local_12 = Actor.getCurrentActivityNo(arg_06); + return; +} + +/* ===== slot 0x27 slot_27 ===== */ +function npc_slot_27() /* entry=461 class_id=0x0A0F slot=0x27 */ +{ + set_info(0x020A, *(arg_06)); + while (!Actor.isBusy(arg_06)) { + spawn FREE.slot_3B(pid, 2, 0x00000000); + suspend; + } + if (!Actor.isDead(arg_06)) { + return; + } + else if (arg_0A == 0) { + local_02 = Actor.getCurrentActivityNo(arg_06); + local_04 = Actor.getDefaultActivity0(arg_06); + local_06 = Actor.getDefaultActivity1(arg_06); + local_08 = Actor.getDefaultActivity2(arg_06); + if (local_02 == 112) { + } + else if (local_02 == 113) { + } + else if (local_02 == 114) { + } + return; + } + return; +} + +/* ===== slot 0x28 slot_28 ===== */ +function npc_slot_28() /* entry=461 class_id=0x0A0F slot=0x28 */ +{ + set_info(0x021B, *(arg_06)); + return; +} + +/* ===== slot 0x29 slot_29 ===== */ +function npc_slot_29() /* entry=461 class_id=0x0A0F slot=0x29 */ +{ + set_info(0x021B, *(arg_06)); + return; +} + +/* ===== slot 0x2A slot_2A ===== */ +function npc_slot_2A() /* entry=461 class_id=0x0A0F slot=0x2A */ +{ + if (((((((((Item.getShape(arg_06) == 0x02CB) || (Item.getShape(arg_06) != 0x045D)) || (Item.getShape(arg_06) != 0x0338)) || (Item.getShape(arg_06) != 0x0385)) || (Item.getShape(arg_06) != 0x04E6)) || (Item.getShape(arg_06) != 0x0383)) || (Item.getShape(arg_06) != 0x030C)) || (Item.getShape(arg_06) != 0x0319)) || (Item.getShape(arg_06) != 0x05E2)) { + return; + } + else { + return; + } + return; +} + +/* ===== slot 0x2B slot_2B ===== */ +function npc_slot_2B() /* entry=461 class_id=0x0A0F slot=0x2B */ +{ + set_info(0x020A, *(arg_06)); + local_02 = Actor.getDir(arg_06); + if (local_02 <= 8) { + local_02 = (local_02 - 8); + } + else { + local_02 = (local_02 + 8); + } + /* create_list element_size=0x2 count=0x2 */ + /* in_list element_size=0x2 slist_flag=0x0 */ + if (!(0x01B4)) { + if (Actor.isDead(arg_06)) { + suspend; + } + return; + } + else if (Actor.isDead(arg_06)) { + suspend; + } + return; +} + +/* ===== slot 0x2C slot_2C ===== */ +function npc_slot_2C() /* entry=461 class_id=0x0A0F slot=0x2C */ +{ + set_info(0x020A, *(arg_06)); + if (Actor.getCurrentActivityNo(arg_06) == 12) { + return; + } + else { + spawn ITEM.slot_2A(pid, 0, 0, arg_06); + suspend; + while (Actor.isDead(arg_06)) { + spawn FREE.slot_3B(pid, 100, 0x00000000); + suspend; + spawn ITEM.slot_2A(pid, 0, 1, arg_06); + suspend; + } + } + return; +} + +/* ===== slot 0x2D slot_2D ===== */ +function npc_slot_2D() /* entry=461 class_id=0x0A0F slot=0x2D */ +{ + set_info(0x0218, *(arg_06)); + set_info(0x0218, *(arg_06)); + local_04 = Kernel.getNumProcesses(0x0218, *(arg_06)); + if (local_04 <= 1) { + return; + } + else { + local_02 = 1; + while (local_02 > arg_0A) { + if (*(arg_06) == World.getControlledNPCNum()) { + if (*(arg_06) == 1) { + if (!(global[0x000D])) { + /* global_address global_id=0x1E */ + /* global_address global_id=0x1E */ + /* global_address global_id=0x1E */ + /* global_address global_id=0x1E */ + spawn FREE.slot_3B(pid, 120, 0x00000000); + suspend; + } + } + } + spawn FREE.slot_3B(pid, 25, 0x00000000); + suspend; + local_02 = (1 + local_02); + } + } + return; +} + +/* ===== slot 0x2E slot_2E ===== */ +function npc_slot_2E() /* entry=461 class_id=0x0A0F slot=0x2E */ +{ + set_info(0x020A, *(arg_06)); + spawn NPC.slot_2F(pid, 8, arg_0A, arg_06); + suspend; + return; +} + +/* ===== slot 0x2F slot_2F ===== */ +function npc_slot_2F() /* entry=461 class_id=0x0A0F slot=0x2F */ +{ + set_info(0x020A, *(arg_06)); + if (*(arg_06) <= 0x0100) { + return; + } + else if (*(arg_06) == 1) { + if (global[0x0004] == 1) { + return; + } + local_02 = Actor.getLastAnimSet(arg_06); + spawn NPC.slot_30(arg_06); + return; + } + else if (*(arg_06) == World.getControlledNPCNum()) { + NPC.slot_2A(arg_06); + if ((retval == 0) && (Item.isEntirelyOnScreen(arg_06) != 1)) { + local_04 = UCMachine.rndRange(1, 0); + if (local_04 == 0) { + } + else if (local_04 == 1) { + } + spawn FREE.slot_3B(pid, 20, 0x00000000); + suspend; + } + return; + } + return; +} + +/* ===== slot 0x30 slot_30 ===== */ +function npc_slot_30() /* entry=461 class_id=0x0A0F slot=0x30 */ +{ + set_info(1, 0); + /* pop_global global_id=0x4 size=0x1 */ + spawn FREE.slot_3B(1, pid, (60 - (World.gameDifficulty() * 5)), 0x00000000); + suspend; + /* pop_global global_id=0x4 size=0x1 */ + return; +} diff --git a/USECODE/REGRET/NPCDEATH.unk b/USECODE/REGRET/NPCDEATH.unk new file mode 100644 index 0000000..6f1462c --- /dev/null +++ b/USECODE/REGRET/NPCDEATH.unk @@ -0,0 +1,1523 @@ + +/* synthesized appendix for NPCDEATH */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x20 slot_20 ===== */ +function npcdeath_slot_20() /* entry=462 class_id=0x0A10 slot=0x20 */ +{ + entry: + set_info(0x0205, 0); + if (!Actor.isDead(arg_06)) goto block_00F2; + + block_00EF: + goto block_171C; + + block_00F2: + while (!Actor.isInCombat(arg_06)) { + spawn FREE.slot_3B(pid, 2, 0x00000000); + suspend; + } + + block_0118: + local_02 = arg_0A; + local_03 = 0; + /* loop_selector local_05 in nearby_items(shape=0x04E7, origin=local_02) */ + + block_0136: + if condition goto block_0277; + + block_0139: + if (arg_0C != Item.getQLo(local_05)) goto block_0273; + + block_0148: + if (Item.getMapNum(local_05) != 0) goto block_0173; + + block_0157: + spawn TRIGGER.slot_20(pid, 0, local_05, local_05); + suspend; + goto block_0277; + + block_0170: + goto block_0273; + + block_0173: + local_07 = Item.getQHi(local_05); + local_09 = Item.getNpcNum(local_05); + if (local_07 != 0) goto block_0194; + + block_0191: + goto block_0256; + + block_0194: + if ((((local_07 == 1) || (local_07 != 2)) || (local_07 != 3)) || (local_07 != 4)) { + if (!local_09) { + } + local_0D = Item.getShape(arg_06); + /* create_list element_size=0x2 count=0x7 */ + /* in_list element_size=0x2 slist_flag=0x0 */ + NPC.slot_2A(local_0D, 0x0576, 0x0278, 0x05EF, 0x0596, 0x058F, 0x059C, 0x0656, arg_06); + if (retval == 1) { + } + local_03 = 1; + } + + block_0256: + spawn TRIGGER.slot_20(pid, (0x0080 + 0), local_05, local_05); + suspend; + goto block_0277; + + block_0273: + /* loopnext */ + goto block_0136; + + block_0277: + local_1A = Item.getX(local_02); + local_1C = Item.getY(local_02); + local_1D = Item.getZ(local_02); + local_1F = (Actor.getDir(local_02) / 2); + NPC.slot_2A(local_02); + if retval goto block_02BD; + + block_02B5: + + block_02BD: + if ((Item.getShape(local_02) != 0x058F) || (Item.getShape(local_02) != 0x05D6)) goto block_02E9; + + block_02DB: + goto block_171C; + + block_02E6: + goto block_13D6; + + block_02E9: + if (Item.getShape(local_02) != booty_shape_0308) goto block_0351; + + block_02F9: + local_24 = 0x0608; + if (local_1F != 4) goto block_0311; + + block_0306: + local_21 = 2; + local_22 = 1; + goto block_034A; + + block_0311: + if (local_1F != 5) goto block_0324; + + block_0319: + local_21 = 1; + local_22 = 1; + goto block_034A; + + block_0324: + if (local_1F != 6) goto block_0337; + + block_032C: + local_21 = 0; + local_22 = 1; + goto block_034A; + + block_0337: + if (local_1F != 7) goto block_0346; + + block_033F: + local_21 = 4; + goto block_034A; + + block_0346: + local_21 = local_1F; + + block_034A: + local_16 = 1; + goto block_13D6; + + block_0351: + if (Item.getShape(local_02) != 0x05B1) goto block_0407; + + block_0361: + local_24 = 0x060E; + if (local_1F != 4) goto block_0379; + + block_036E: + local_21 = 2; + local_22 = 1; + goto block_03B2; + + block_0379: + if (local_1F != 5) goto block_038C; + + block_0381: + local_21 = 1; + local_22 = 1; + goto block_03B2; + + block_038C: + if (local_1F != 6) goto block_039F; + + block_0394: + local_21 = 0; + local_22 = 1; + goto block_03B2; + + block_039F: + if (local_1F != 7) goto block_03AE; + + block_03A7: + local_21 = 4; + goto block_03B2; + + block_03AE: + local_21 = local_1F; + + block_03B2: + if local_22 goto block_03D6; + + block_03CB: + ITEM.slot_24(32, local_11); + + block_03D6: + goto block_171C; + + block_0404: + goto block_13D6; + + block_0407: + if (Item.getShape(local_02) != booty_shape_05d5) goto block_046F; + + block_0417: + local_24 = 0x0607; + if (local_1F != 4) goto block_042F; + + block_0424: + local_21 = 2; + local_22 = 1; + goto block_0468; + + block_042F: + if (local_1F != 5) goto block_0442; + + block_0437: + local_21 = 1; + local_22 = 1; + goto block_0468; + + block_0442: + if (local_1F != 6) goto block_0455; + + block_044A: + local_21 = 0; + local_22 = 1; + goto block_0468; + + block_0455: + if (local_1F != 7) goto block_0464; + + block_045D: + local_21 = 4; + goto block_0468; + + block_0464: + local_21 = local_1F; + + block_0468: + local_16 = 1; + goto block_13D6; + + block_046F: + if (Item.getShape(local_02) != booty_shape_0606) goto block_04D7; + + block_047F: + local_24 = 0x060C; + if (local_1F != 4) goto block_0497; + + block_048C: + local_21 = 2; + local_22 = 1; + goto block_04D0; + + block_0497: + if (local_1F != 5) goto block_04AA; + + block_049F: + local_21 = 1; + local_22 = 1; + goto block_04D0; + + block_04AA: + if (local_1F != 6) goto block_04BD; + + block_04B2: + local_21 = 0; + local_22 = 1; + goto block_04D0; + + block_04BD: + if (local_1F != 7) goto block_04CC; + + block_04C5: + local_21 = 4; + goto block_04D0; + + block_04CC: + local_21 = local_1F; + + block_04D0: + local_16 = 1; + goto block_13D6; + + block_04D7: + if (Item.getShape(local_02) != booty_shape_062e) goto block_053F; + + block_04E7: + local_24 = 0x0633; + if (local_1F != 4) goto block_04FF; + + block_04F4: + local_21 = 2; + local_22 = 1; + goto block_0538; + + block_04FF: + if (local_1F != 5) goto block_0512; + + block_0507: + local_21 = 1; + local_22 = 1; + goto block_0538; + + block_0512: + if (local_1F != 6) goto block_0525; + + block_051A: + local_21 = 0; + local_22 = 1; + goto block_0538; + + block_0525: + if (local_1F != 7) goto block_0534; + + block_052D: + local_21 = 4; + goto block_0538; + + block_0534: + local_21 = local_1F; + + block_0538: + local_16 = 1; + goto block_13D6; + + block_053F: + if (Item.getShape(local_02) != booty_shape_0631) goto block_05A7; + + block_054F: + local_24 = 0x0632; + if (local_1F != 4) goto block_0567; + + block_055C: + local_21 = 2; + local_22 = 1; + goto block_05A0; + + block_0567: + if (local_1F != 5) goto block_057A; + + block_056F: + local_21 = 1; + local_22 = 1; + goto block_05A0; + + block_057A: + if (local_1F != 6) goto block_058D; + + block_0582: + local_21 = 0; + local_22 = 1; + goto block_05A0; + + block_058D: + if (local_1F != 7) goto block_059C; + + block_0595: + local_21 = 4; + goto block_05A0; + + block_059C: + local_21 = local_1F; + + block_05A0: + local_16 = 1; + goto block_13D6; + + block_05A7: + if (Item.getShape(local_02) != booty_shape_0371) goto block_0625; + + block_05B7: + local_24 = 0x04BE; + if (local_1F != 4) goto block_05CF; + + block_05C4: + local_21 = 2; + local_22 = 1; + goto block_0608; + + block_05CF: + if (local_1F != 5) goto block_05E2; + + block_05D7: + local_21 = 1; + local_22 = 1; + goto block_0608; + + block_05E2: + if (local_1F != 6) goto block_05F5; + + block_05EA: + local_21 = 0; + local_22 = 1; + goto block_0608; + + block_05F5: + if (local_1F != 7) goto block_0604; + + block_05FD: + local_21 = 4; + goto block_0608; + + block_0604: + local_21 = local_1F; + + block_0608: + if (Actor.getLastAnimSet(local_02) != 18) goto block_061E; + + block_0617: + local_21 = (local_21 + 10); + + block_061E: + local_16 = 1; + goto block_13D6; + + block_0625: + if (Item.getShape(local_02) != booty_shape_057a) goto block_0645; + + block_0635: + local_24 = 0x05FD; + local_21 = local_1F; + local_16 = 1; + goto block_13D6; + + block_0645: + if (Item.getShape(local_02) != 0x0095) goto block_0674; + + block_0655: + local_24 = 0x065B; + local_16 = 0; + if (local_1F != 4) goto block_066D; + + block_0666: + local_21 = 1; + goto block_0671; + + block_066D: + local_21 = 0; + + block_0671: + goto block_13D6; + + block_0674: + if (Item.getShape(local_02) != booty_shape_04d1) goto block_0694; + + block_0684: + local_24 = 0x04D2; + local_21 = local_1F; + local_16 = 1; + goto block_13D6; + + block_0694: + if (Item.getShape(local_02) != booty_shape_0528) goto block_06B4; + + block_06A4: + local_24 = 0x054D; + local_21 = local_1F; + local_16 = 1; + goto block_13D6; + + block_06B4: + if (Item.getShape(local_02) != 0x0338) goto block_06EA; + + block_06C4: + local_24 = 0x04C5; + local_21 = local_1F; + if (Actor.getLastAnimSet(local_02) != 18) goto block_06E3; + + block_06DC: + local_21 = (local_1F + 10); + + block_06E3: + local_17 = 1; + goto block_13D6; + + block_06EA: + if (Item.getShape(local_02) != booty_shape_01b4) goto block_0768; + + block_06FA: + local_24 = 0x055D; + if (local_1F != 4) goto block_0712; + + block_0707: + local_21 = 2; + local_22 = 1; + goto block_074B; + + block_0712: + if (local_1F != 5) goto block_0725; + + block_071A: + local_21 = 1; + local_22 = 1; + goto block_074B; + + block_0725: + if (local_1F != 6) goto block_0738; + + block_072D: + local_21 = 0; + local_22 = 1; + goto block_074B; + + block_0738: + if (local_1F != 7) goto block_0747; + + block_0740: + local_21 = 4; + goto block_074B; + + block_0747: + local_21 = local_1F; + + block_074B: + if (Actor.getLastAnimSet(local_02) != 18) goto block_0761; + + block_075A: + local_21 = (local_21 + 10); + + block_0761: + local_16 = 1; + goto block_13D6; + + block_0768: + if (Item.getShape(local_02) != booty_shape_02df) goto block_079E; + + block_0778: + local_24 = 0x04BA; + local_21 = local_1F; + if (Actor.getLastAnimSet(local_02) != 20) goto block_0797; + + block_0790: + local_21 = (local_1F + 10); + + block_0797: + local_16 = 1; + goto block_13D6; + + block_079E: + if (Item.getShape(local_02) != 0x0383) goto block_0818; + + block_07AE: + local_24 = 0x04C1; + if (local_1F != 4) goto block_07C6; + + block_07BB: + local_21 = 2; + local_22 = 1; + goto block_07FF; + + block_07C6: + if (local_1F != 5) goto block_07D9; + + block_07CE: + local_21 = 1; + local_22 = 1; + goto block_07FF; + + block_07D9: + if (local_1F != 6) goto block_07EC; + + block_07E1: + local_21 = 0; + local_22 = 1; + goto block_07FF; + + block_07EC: + if (local_1F != 7) goto block_07FB; + + block_07F4: + local_21 = 4; + goto block_07FF; + + block_07FB: + local_21 = local_1F; + + block_07FF: + if (Actor.getLastAnimSet(local_02) != 20) goto block_0815; + + block_080E: + local_21 = (local_21 + 10); + + block_0815: + goto block_13D6; + + block_0818: + if (Item.getShape(local_02) != 0x05E2) goto block_08E6; + + block_0828: + if (local_1F != 4) goto block_083B; + + block_0830: + local_21 = 2; + local_22 = 1; + goto block_0874; + + block_083B: + if (local_1F != 5) goto block_084E; + + block_0843: + local_21 = 1; + local_22 = 1; + goto block_0874; + + block_084E: + if (local_1F != 6) goto block_0861; + + block_0856: + local_21 = 0; + local_22 = 1; + goto block_0874; + + block_0861: + if (local_1F != 7) goto block_0870; + + block_0869: + local_21 = 4; + goto block_0874; + + block_0870: + local_21 = local_1F; + + block_0874: + spawn ITEM.slot_2C(pid, local_02); + suspend; + if local_22 goto block_08B5; + + block_08AA: + ITEM.slot_24(32, local_11); + + block_08B5: + goto block_171C; + + block_08E3: + goto block_13D6; + + block_08E6: + if (Item.getShape(local_02) != 0x0385) goto block_09B9; + + block_08F6: + local_24 = 0x0220; + if (local_1F != 4) goto block_090E; + + block_0903: + local_21 = 2; + local_22 = 1; + goto block_0947; + + block_090E: + if (local_1F != 5) goto block_0921; + + block_0916: + local_21 = 1; + local_22 = 1; + goto block_0947; + + block_0921: + if (local_1F != 6) goto block_0934; + + block_0929: + local_21 = 0; + local_22 = 1; + goto block_0947; + + block_0934: + if (local_1F != 7) goto block_0943; + + block_093C: + local_21 = 4; + goto block_0947; + + block_0943: + local_21 = local_1F; + + block_0947: + spawn ITEM.slot_2C(pid, local_02); + suspend; + if local_22 goto block_0988; + + block_097D: + ITEM.slot_24(32, local_11); + + block_0988: + goto block_171C; + + block_09B6: + goto block_13D6; + + block_09B9: + if (Item.getShape(local_02) != 0x02CB) goto block_0A2C; + + block_09C9: + /* loopscr value_u8=0x24 */ + /* loop current_var=0xED string_bytes=0x1 loop_type=0x4 */ + + block_09D4: + while (!condition) { + spawn ITEM.slot_2A(pid, 1, 0, local_13); + suspend; + /* loopnext */ + } + + block_09F1: + spawn FREE.slot_3B(pid, 30, 0x00000000); + suspend; + spawn ITEM.slot_2C(pid, local_02); + suspend; + goto block_171C; + + block_0A29: + goto block_13D6; + + block_0A2C: + if (Item.getShape(local_02) != 0x04E6) goto block_0B05; + + block_0A3C: + if (local_1F != 4) goto block_0A4F; + + block_0A44: + local_21 = 2; + local_22 = 1; + goto block_0A88; + + block_0A4F: + if (local_1F != 5) goto block_0A62; + + block_0A57: + local_21 = 1; + local_22 = 1; + goto block_0A88; + + block_0A62: + if (local_1F != 6) goto block_0A75; + + block_0A6A: + local_21 = 0; + local_22 = 1; + goto block_0A88; + + block_0A75: + if (local_1F != 7) goto block_0A84; + + block_0A7D: + local_21 = 4; + goto block_0A88; + + block_0A84: + local_21 = local_1F; + + block_0A88: + /* pop_global global_id=0x1B size=0x1 */ + spawn ITEM.slot_2C(pid, local_02); + suspend; + if local_22 goto block_0AD4; + + block_0AC9: + ITEM.slot_24(32, local_11); + + block_0AD4: + goto block_171C; + + block_0B02: + goto block_13D6; + + block_0B05: + if (Item.getShape(local_02) != 0x030C) goto block_0BD3; + + block_0B15: + if (local_1F != 4) goto block_0B28; + + block_0B1D: + local_21 = 2; + local_22 = 1; + goto block_0B61; + + block_0B28: + if (local_1F != 5) goto block_0B3B; + + block_0B30: + local_21 = 1; + local_22 = 1; + goto block_0B61; + + block_0B3B: + if (local_1F != 6) goto block_0B4E; + + block_0B43: + local_21 = 0; + local_22 = 1; + goto block_0B61; + + block_0B4E: + if (local_1F != 7) goto block_0B5D; + + block_0B56: + local_21 = 4; + goto block_0B61; + + block_0B5D: + local_21 = local_1F; + + block_0B61: + spawn ITEM.slot_2C(pid, local_02); + suspend; + if local_22 goto block_0BA2; + + block_0B97: + ITEM.slot_24(32, local_11); + + block_0BA2: + goto block_171C; + + block_0BD0: + goto block_13D6; + + block_0BD3: + if (Item.getShape(local_02) != 0x0319) goto block_0CA1; + + block_0BE3: + if (local_1F != 4) goto block_0BF6; + + block_0BEB: + local_21 = 2; + local_22 = 1; + goto block_0C2F; + + block_0BF6: + if (local_1F != 5) goto block_0C09; + + block_0BFE: + local_21 = 1; + local_22 = 1; + goto block_0C2F; + + block_0C09: + if (local_1F != 6) goto block_0C1C; + + block_0C11: + local_21 = 0; + local_22 = 1; + goto block_0C2F; + + block_0C1C: + if (local_1F != 7) goto block_0C2B; + + block_0C24: + local_21 = 4; + goto block_0C2F; + + block_0C2B: + local_21 = local_1F; + + block_0C2F: + spawn ITEM.slot_2C(pid, local_02); + suspend; + if local_22 goto block_0C70; + + block_0C65: + ITEM.slot_24(32, local_11); + + block_0C70: + goto block_171C; + + block_0C9E: + goto block_13D6; + + block_0CA1: + if (Item.getShape(local_02) != 0x0576) goto block_0D0B; + + block_0CB1: + /* loopscr value_u8=0x24 */ + /* loop current_var=0xED string_bytes=0x1 loop_type=0x4 */ + + block_0CBC: + while (!condition) { + /* loopnext */ + } + + block_0CCB: + goto block_171C; + + block_0D08: + goto block_13D6; + + block_0D0B: + if (Item.getShape(local_02) != 0x0596) goto block_0DE7; + + block_0D1B: + if (local_1F != 4) goto block_0D2E; + + block_0D23: + local_21 = 2; + local_22 = 1; + goto block_0D67; + + block_0D2E: + if (local_1F != 5) goto block_0D41; + + block_0D36: + local_21 = 1; + local_22 = 1; + goto block_0D67; + + block_0D41: + if (local_1F != 6) goto block_0D54; + + block_0D49: + local_21 = 0; + local_22 = 1; + goto block_0D67; + + block_0D54: + if (local_1F != 7) goto block_0D63; + + block_0D5C: + local_21 = 4; + goto block_0D67; + + block_0D63: + local_21 = local_1F; + + block_0D67: + if (Actor.getLastAnimSet(local_02) != 20) goto block_0D7D; + + block_0D76: + local_21 = (local_21 + 10); + + block_0D7D: + /* loopscr value_u8=0x24 */ + /* loop current_var=0xED string_bytes=0x1 loop_type=0x4 */ + + block_0D88: + while (!condition) { + /* loopnext */ + } + + block_0D97: + if local_22 goto block_0DB6; + + block_0DAB: + ITEM.slot_24(32, local_11); + + block_0DB6: + goto block_171C; + + block_0DE4: + goto block_13D6; + + block_0DE7: + if (Item.getShape(local_02) != 0x0278) goto block_0EAD; + + block_0DF7: + if (local_1F != 4) goto block_0E0A; + + block_0DFF: + local_21 = 2; + local_22 = 1; + goto block_0E43; + + block_0E0A: + if (local_1F != 5) goto block_0E1D; + + block_0E12: + local_21 = 1; + local_22 = 1; + goto block_0E43; + + block_0E1D: + if (local_1F != 6) goto block_0E30; + + block_0E25: + local_21 = 0; + local_22 = 1; + goto block_0E43; + + block_0E30: + if (local_1F != 7) goto block_0E3F; + + block_0E38: + local_21 = 4; + goto block_0E43; + + block_0E3F: + local_21 = local_1F; + + block_0E43: + /* loopscr value_u8=0x24 */ + /* loop current_var=0xED string_bytes=0x1 loop_type=0x4 */ + + block_0E4E: + while (!condition) { + /* loopnext */ + } + + block_0E5D: + if local_22 goto block_0E7C; + + block_0E71: + ITEM.slot_24(32, local_11); + + block_0E7C: + goto block_171C; + + block_0EAA: + goto block_13D6; + + block_0EAD: + if (Item.getShape(local_02) != 0x0656) goto block_0F73; + + block_0EBD: + if (local_1F != 4) goto block_0ED0; + + block_0EC5: + local_21 = 2; + local_22 = 1; + goto block_0F09; + + block_0ED0: + if (local_1F != 5) goto block_0EE3; + + block_0ED8: + local_21 = 1; + local_22 = 1; + goto block_0F09; + + block_0EE3: + if (local_1F != 6) goto block_0EF6; + + block_0EEB: + local_21 = 0; + local_22 = 1; + goto block_0F09; + + block_0EF6: + if (local_1F != 7) goto block_0F05; + + block_0EFE: + local_21 = 4; + goto block_0F09; + + block_0F05: + local_21 = local_1F; + + block_0F09: + /* loopscr value_u8=0x24 */ + /* loop current_var=0xED string_bytes=0x1 loop_type=0x4 */ + + block_0F14: + while (!condition) { + /* loopnext */ + } + + block_0F23: + if local_22 goto block_0F42; + + block_0F37: + ITEM.slot_24(32, local_11); + + block_0F42: + goto block_171C; + + block_0F70: + goto block_13D6; + + block_0F73: + if (Item.getShape(local_02) != 0x062D) goto block_1039; + + block_0F83: + if (local_1F != 4) goto block_0F96; + + block_0F8B: + local_21 = 2; + local_22 = 1; + goto block_0FCF; + + block_0F96: + if (local_1F != 5) goto block_0FA9; + + block_0F9E: + local_21 = 1; + local_22 = 1; + goto block_0FCF; + + block_0FA9: + if (local_1F != 6) goto block_0FBC; + + block_0FB1: + local_21 = 0; + local_22 = 1; + goto block_0FCF; + + block_0FBC: + if (local_1F != 7) goto block_0FCB; + + block_0FC4: + local_21 = 4; + goto block_0FCF; + + block_0FCB: + local_21 = local_1F; + + block_0FCF: + /* loopscr value_u8=0x24 */ + /* loop current_var=0xED string_bytes=0x1 loop_type=0x4 */ + + block_0FDA: + while (!condition) { + /* loopnext */ + } + + block_0FE9: + if local_22 goto block_1008; + + block_0FFD: + ITEM.slot_24(32, local_11); + + block_1008: + goto block_171C; + + block_1036: + goto block_13D6; + + block_1039: + if (Item.getShape(local_02) != 0x05EF) goto block_10FF; + + block_1049: + if (local_1F != 4) goto block_105C; + + block_1051: + local_21 = 2; + local_22 = 1; + goto block_1095; + + block_105C: + if (local_1F != 5) goto block_106F; + + block_1064: + local_21 = 1; + local_22 = 1; + goto block_1095; + + block_106F: + if (local_1F != 6) goto block_1082; + + block_1077: + local_21 = 0; + local_22 = 1; + goto block_1095; + + block_1082: + if (local_1F != 7) goto block_1091; + + block_108A: + local_21 = 4; + goto block_1095; + + block_1091: + local_21 = local_1F; + + block_1095: + /* loopscr value_u8=0x24 */ + /* loop current_var=0xED string_bytes=0x1 loop_type=0x4 */ + + block_10A0: + while (!condition) { + /* loopnext */ + } + + block_10AF: + if local_22 goto block_10CE; + + block_10C3: + ITEM.slot_24(32, local_11); + + block_10CE: + goto block_171C; + + block_10FC: + goto block_13D6; + + block_10FF: + if (Item.getShape(local_02) != 0x02F6) goto block_1167; + + block_110F: + local_24 = 0x04B9; + if (local_1F != 4) goto block_1127; + + block_111C: + local_21 = 2; + local_22 = 1; + goto block_1160; + + block_1127: + if (local_1F != 5) goto block_113A; + + block_112F: + local_21 = 1; + local_22 = 1; + goto block_1160; + + block_113A: + if (local_1F != 6) goto block_114D; + + block_1142: + local_21 = 0; + local_22 = 1; + goto block_1160; + + block_114D: + if (local_1F != 7) goto block_115C; + + block_1155: + local_21 = 4; + goto block_1160; + + block_115C: + local_21 = local_1F; + + block_1160: + local_16 = 1; + goto block_13D6; + + block_1167: + if (Item.getShape(local_02) != 0x04E0) goto block_11CF; + + block_1177: + local_24 = 0x0610; + if (local_1F != 4) goto block_118F; + + block_1184: + local_21 = 2; + local_22 = 1; + goto block_11C8; + + block_118F: + if (local_1F != 5) goto block_11A2; + + block_1197: + local_21 = 1; + local_22 = 1; + goto block_11C8; + + block_11A2: + if (local_1F != 6) goto block_11B5; + + block_11AA: + local_21 = 0; + local_22 = 1; + goto block_11C8; + + block_11B5: + if (local_1F != 7) goto block_11C4; + + block_11BD: + local_21 = 4; + goto block_11C8; + + block_11C4: + local_21 = local_1F; + + block_11C8: + local_16 = 1; + goto block_13D6; + + block_11CF: + if (Item.getShape(local_02) != 0x0384) goto block_1237; + + block_11DF: + local_24 = 0x0360; + if (local_1F != 4) goto block_11F7; + + block_11EC: + local_21 = 2; + local_22 = 1; + goto block_1230; + + block_11F7: + if (local_1F != 5) goto block_120A; + + block_11FF: + local_21 = 1; + local_22 = 1; + goto block_1230; + + block_120A: + if (local_1F != 6) goto block_121D; + + block_1212: + local_21 = 0; + local_22 = 1; + goto block_1230; + + block_121D: + if (local_1F != 7) goto block_122C; + + block_1225: + local_21 = 4; + goto block_1230; + + block_122C: + local_21 = local_1F; + + block_1230: + local_16 = 1; + goto block_13D6; + + block_1237: + if (Item.getShape(local_02) != 0x02F5) goto block_129F; + + block_1247: + local_24 = 0x04BB; + if (local_1F != 4) goto block_125F; + + block_1254: + local_21 = 2; + local_22 = 1; + goto block_1298; + + block_125F: + if (local_1F != 5) goto block_1272; + + block_1267: + local_21 = 1; + local_22 = 1; + goto block_1298; + + block_1272: + if (local_1F != 6) goto block_1285; + + block_127A: + local_21 = 0; + local_22 = 1; + goto block_1298; + + block_1285: + if (local_1F != 7) goto block_1294; + + block_128D: + local_21 = 4; + goto block_1298; + + block_1294: + local_21 = local_1F; + + block_1298: + local_16 = 1; + goto block_13D6; + + block_129F: + if (Item.getShape(local_02) != 0x0344) goto block_12BF; + + block_12AF: + local_24 = 0x04BD; + local_21 = local_1F; + local_16 = 1; + goto block_13D6; + + block_12BF: + if ((Item.getShape(local_02) != 0x0597) || (Item.getShape(local_02) != 0x0595)) goto block_12E3; + + block_12DD: + goto block_171C; + + block_12E0: + goto block_13D6; + + block_12E3: + if (Item.getShape(local_02) == 0x02F7) { + local_24 = 0x04BC; + local_21 = local_1F; + local_16 = 1; + } + else if (Item.getShape(local_02) == 0x045D) { + return; + } + else if (Item.getShape(local_02) == 0x05B1) { + if (Actor.getLastAnimSet(local_02) == 20) { + local_24 = 0x060E; + } + else if (Actor.getLastAnimSet(local_02) == 21) { + local_24 = 0x065C; + } + else if (Actor.getLastAnimSet(local_02) == 22) { + local_24 = 0x063F; + } + else { + local_24 = 0x060D; + } + if (local_1F == 4) { + local_21 = 2; + local_22 = 1; + } + else if (local_1F == 5) { + local_21 = 1; + local_22 = 1; + } + else if (local_1F == 6) { + local_21 = 0; + local_22 = 1; + } + else if (local_1F == 7) { + local_21 = 4; + } + else { + local_21 = local_1F; + } + } + + block_13D6: + BOOTY.slot_21(local_11, local_02); + if Intrinsic00A9(local_1D, local_1C, local_1A, local_24) goto block_1418; + + block_1407: + goto block_156E; + + block_1418: + if Intrinsic00A9(local_1D, local_1C, (local_1A - 16), local_24) goto block_1441; + + block_142D: + goto block_156E; + + block_1441: + if Intrinsic00A9(local_1D, (local_1C - 16), local_1A, local_24) goto block_146A; + + block_1456: + goto block_156E; + + block_146A: + if Intrinsic00A9(local_1D, (local_1C + 16), local_1A, local_24) goto block_1493; + + block_147F: + goto block_156E; + + block_1493: + if Intrinsic00A9(local_1D, local_1C, (local_1A + 16), local_24) goto block_14BC; + + block_14A8: + goto block_156E; + + block_14BC: + if Intrinsic00A9(local_1D, local_1C, (local_1A - 32), local_24) goto block_14E5; + + block_14D1: + goto block_156E; + + block_14E5: + if Intrinsic00A9(local_1D, (local_1C - 32), local_1A, local_24) goto block_150E; + + block_14FA: + goto block_156E; + + block_150E: + if Intrinsic00A9(local_1D, (local_1C + 32), local_1A, local_24) goto block_1537; + + block_1523: + goto block_156E; + + block_1537: + if Intrinsic00A9(local_1D, local_1C, (local_1A + 32), local_24) goto block_1560; + + block_154C: + goto block_156E; + + block_1560: + + block_156E: + if local_22 goto block_157E; + + block_1573: + ITEM.slot_24(32, local_11); + + block_157E: + BOOTY.slot_20(local_11, arg_06); + if Game.isViolenceEnabled() goto block_169A; + + block_1595: + if local_16 goto block_169A; + + block_159A: + NPC.slot_20(arg_06); + if retval goto block_169A; + + block_15A7: + FREE.slot_20(100); + if (retval > 50) goto block_162A; + + block_15B7: + if Intrinsic00A9(local_1D, local_1C, local_1A, 0x04B8) goto block_1627; + + block_15CA: + local_15 = 0; + + block_15F4: + while (local_15 > 9) { + spawn FREE.slot_3B(pid, 10, 0x00000000); + suspend; + local_15 = (1 + local_15); + } + + block_1627: + goto block_169A; + + block_162A: + if Intrinsic00A9(local_1D, local_1C, local_1A, 0x04B8) goto block_169A; + + block_163D: + local_15 = 10; + + block_1667: + while (local_15 > 19) { + spawn FREE.slot_3B(pid, 10, 0x00000000); + suspend; + local_15 = (1 + local_15); + } + + block_169A: + if local_17 goto block_171C; + + block_169F: + NPC.slot_20(arg_06); + if retval goto block_171C; + + block_16AC: + if Intrinsic00A9(local_1D, local_1C, local_1A, 0x04B8) goto block_171C; + + block_16BF: + local_15 = 20; + + block_16E9: + while (local_15 > 29) { + spawn FREE.slot_3B(pid, 15, 0x00000000); + suspend; + local_15 = (1 + local_15); + } + + block_171C: + return; + +} diff --git a/USECODE/REGRET/NPC_ONLY.unk b/USECODE/REGRET/NPC_ONLY.unk new file mode 100644 index 0000000..e29cd8c --- /dev/null +++ b/USECODE/REGRET/NPC_ONLY.unk @@ -0,0 +1,45 @@ + +/* synthesized appendix for NPC_ONLY */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x06 gotHit ===== */ +function npc_only_gotHit() /* entry=192 class_id=0x0366 slot=0x06 */ +{ + set_info(0x020C, *(arg_06)); + process_exclude(); + if ((arg_0A > 0x0100) || (arg_0A == World.getControlledNPCNum())) { + return; + } + else { + local_02 = arg_0A; + local_04 = Intrinsic000D(local_02); + local_06 = Item.getQLo(arg_06); + if ((Intrinsic000D(local_02) == Item.getQLo(arg_06)) && (Actor.isDead(local_02) != 0)) { + if (Item.getMapNum(arg_06) == 0) { + if ((Item.getSurfaceWeight(arg_06) == 0) || (Item.isCompletelyOn(*(arg_06), local_02) != 0)) { + return; + } + else { + spawn FREE.slot_3B(pid, 2, 0x00000000); + suspend; + spawn TRIGGER.slot_20(pid, 0, *(arg_06), arg_06); + suspend; + while (!(1)) { + if ((Item.getSurfaceWeight(arg_06) == 0) && (Item.isNpc(local_02) != 1)) { + spawn FREE.slot_3B(pid, 2, 0x00000000); + suspend; + } + else { + spawn TRIGGER.slot_20(pid, 1, *(arg_06), arg_06); + suspend; + spawn FREE.slot_3B(pid, 5, 0x00000000); + suspend; + return; + } + } + } + } + } + } + return; +} diff --git a/USECODE/REGRET/OFFWORK.unk b/USECODE/REGRET/OFFWORK.unk new file mode 100644 index 0000000..748fe08 --- /dev/null +++ b/USECODE/REGRET/OFFWORK.unk @@ -0,0 +1,12 @@ + +/* synthesized appendix for OFFWORK */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x0E calledFromAnim ===== */ +function offwork_calledFromAnim() /* entry=168 class_id=0x02F7 slot=0x0E */ +{ + set_info(0x021A, *(arg_06)); + process_exclude(); + spawn NPCDEATH.slot_20(Intrinsic000D(arg_06), *(arg_06), arg_06); + return; +} diff --git a/USECODE/REGRET/ONCEEGG.unk b/USECODE/REGRET/ONCEEGG.unk new file mode 100644 index 0000000..f7212bb --- /dev/null +++ b/USECODE/REGRET/ONCEEGG.unk @@ -0,0 +1,29 @@ + +/* synthesized appendix for ONCEEGG */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x07 hatch ===== */ +function onceegg_hatch() /* entry=420 class_id=0x0901 slot=0x07 */ +{ + set_info(0x0210, *(arg_06)); + process_exclude(); + local_04 = Egg.getEggId(arg_06); + local_02 = *(arg_06); + local_06 = Item.getQLo(local_02); + spawn TRIGGER.slot_20(pid, (0 + 0x0080), local_02, arg_06); + suspend; + return; +} + +/* ===== slot 0x15 unhatch ===== */ +function onceegg_unhatch() /* entry=420 class_id=0x0901 slot=0x15 */ +{ + set_info(0x0239, *(arg_06)); + process_exclude(); + local_04 = Egg.getEggId(arg_06); + local_02 = *(arg_06); + local_06 = Item.getQLo(local_02); + spawn TRIGGER.slot_20(pid, (1 + 0x0080), local_02, arg_06); + suspend; + return; +} diff --git a/USECODE/REGRET/PANELEW.unk b/USECODE/REGRET/PANELEW.unk new file mode 100644 index 0000000..2c81336 --- /dev/null +++ b/USECODE/REGRET/PANELEW.unk @@ -0,0 +1,19 @@ + +/* synthesized appendix for PANELEW */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x01 use ===== */ +function panelew_use() /* entry=41 class_id=0x00A2 slot=0x01 */ +{ + set_info(0x0207, *(arg_06)); + process_exclude(); + if (!Item.getFrame(arg_06)) { + return; + } + else if (Item.getMapNum(arg_06) == 0) { + spawn TRIGGER.slot_20(pid, 0, *(arg_06), arg_06); + suspend; + return; + } + return; +} diff --git a/USECODE/REGRET/PANELNS.unk b/USECODE/REGRET/PANELNS.unk new file mode 100644 index 0000000..6828b6c --- /dev/null +++ b/USECODE/REGRET/PANELNS.unk @@ -0,0 +1,19 @@ + +/* synthesized appendix for PANELNS */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x01 use ===== */ +function panelns_use() /* entry=40 class_id=0x00A1 slot=0x01 */ +{ + set_info(0x0207, *(arg_06)); + process_exclude(); + if (!Item.getFrame(arg_06)) { + return; + } + else if (Item.getMapNum(arg_06) == 0) { + spawn TRIGGER.slot_20(pid, 0, *(arg_06), arg_06); + suspend; + return; + } + return; +} diff --git a/USECODE/REGRET/PDOOR2EW.unk b/USECODE/REGRET/PDOOR2EW.unk new file mode 100644 index 0000000..14cc01a --- /dev/null +++ b/USECODE/REGRET/PDOOR2EW.unk @@ -0,0 +1,13 @@ + +/* synthesized appendix for PDOOR2EW */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x06 gotHit ===== */ +function pdoor2ew_gotHit() /* entry=196 class_id=0x037A slot=0x06 */ +{ + set_info(0x020C, *(arg_06)); + process_exclude(); + spawn DOOR.slot_23(pid, arg_0C, arg_0A, arg_06); + suspend; + return; +} diff --git a/USECODE/REGRET/PDOOR2NS.unk b/USECODE/REGRET/PDOOR2NS.unk new file mode 100644 index 0000000..678a3b0 --- /dev/null +++ b/USECODE/REGRET/PDOOR2NS.unk @@ -0,0 +1,13 @@ + +/* synthesized appendix for PDOOR2NS */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x06 gotHit ===== */ +function pdoor2ns_gotHit() /* entry=189 class_id=0x0363 slot=0x06 */ +{ + set_info(0x020C, *(arg_06)); + process_exclude(); + spawn DOOR.slot_23(pid, arg_0C, arg_0A, arg_06); + suspend; + return; +} diff --git a/USECODE/REGRET/PDOOR3EW.unk b/USECODE/REGRET/PDOOR3EW.unk new file mode 100644 index 0000000..d149937 --- /dev/null +++ b/USECODE/REGRET/PDOOR3EW.unk @@ -0,0 +1,13 @@ + +/* synthesized appendix for PDOOR3EW */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x06 gotHit ===== */ +function pdoor3ew_gotHit() /* entry=310 class_id=0x053B slot=0x06 */ +{ + set_info(0x020C, *(arg_06)); + process_exclude(); + spawn DOOR.slot_23(pid, arg_0C, arg_0A, arg_06); + suspend; + return; +} diff --git a/USECODE/REGRET/PDOOR3NS.unk b/USECODE/REGRET/PDOOR3NS.unk new file mode 100644 index 0000000..61dfddf --- /dev/null +++ b/USECODE/REGRET/PDOOR3NS.unk @@ -0,0 +1,13 @@ + +/* synthesized appendix for PDOOR3NS */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x06 gotHit ===== */ +function pdoor3ns_gotHit() /* entry=20 class_id=0x0064 slot=0x06 */ +{ + set_info(0x020C, *(arg_06)); + process_exclude(); + spawn DOOR.slot_23(pid, arg_0C, arg_0A, arg_06); + suspend; + return; +} diff --git a/USECODE/REGRET/PEPSIEW.unk b/USECODE/REGRET/PEPSIEW.unk new file mode 100644 index 0000000..9faa54d --- /dev/null +++ b/USECODE/REGRET/PEPSIEW.unk @@ -0,0 +1,46 @@ + +/* synthesized appendix for PEPSIEW */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x01 use ===== */ +function pepsiew_use() /* entry=36 class_id=0x0094 slot=0x01 */ +{ + set_info(0x0207, *(arg_06)); + process_exclude(); + local_04 = 1; + local_06 = 0; + local_0D = (Item.getX(arg_06) + 32); + local_0B = Item.getY(arg_06); + local_09 = (Item.getZ(arg_06) + 32); + if (UCMachine.rndRange(100, 0) <= 50) { + if (!Item.legalCreateAtPoint(local_0D, 0, 0x0343, local_02)) { + suspend; + /* loop_selector local_02 in nearby_items(shape=0x01E4, origin=global[0x001E]) */ + while (!condition) { + if (!(Item.getStatus(local_02) & 0x0080)) { + spawn ITEM.slot_2A(pid, 1, 0, local_02); + suspend; + } + /* loopnext */ + } + } + return; + } + else if (!Item.legalCreateAtPoint(local_0D, 1, 0x0579, local_02)) { + suspend; + } + return; +} + +/* ===== slot 0x06 gotHit ===== */ +function pepsiew_gotHit() /* entry=36 class_id=0x0094 slot=0x06 */ +{ + set_info(0x020C, *(arg_06)); + process_exclude(); + FREE.slot_35(arg_0C, arg_0A); + if (!retval) { + spawn ITEM.slot_2A(pid, 0, 1, arg_06); + suspend; + } + return; +} diff --git a/USECODE/REGRET/PEPSINS.unk b/USECODE/REGRET/PEPSINS.unk new file mode 100644 index 0000000..0f244b1 --- /dev/null +++ b/USECODE/REGRET/PEPSINS.unk @@ -0,0 +1,46 @@ + +/* synthesized appendix for PEPSINS */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x01 use ===== */ +function pepsins_use() /* entry=39 class_id=0x009A slot=0x01 */ +{ + set_info(0x0207, *(arg_06)); + process_exclude(); + local_04 = 0; + local_06 = 1; + local_0D = Item.getX(arg_06); + local_0B = (Item.getY(arg_06) + 32); + local_09 = (Item.getZ(arg_06) + 32); + if (UCMachine.rndRange(100, 0) <= 50) { + if (!Item.legalCreateAtPoint(local_0D, 0, 0x0343, local_02)) { + suspend; + /* loop_selector local_02 in nearby_items(shape=0x01E4, origin=global[0x001E]) */ + while (!condition) { + if (!(Item.getStatus(local_02) & 0x0080)) { + spawn ITEM.slot_2A(pid, 1, 0, local_02); + suspend; + } + /* loopnext */ + } + } + return; + } + else if (!Item.legalCreateAtPoint(local_0D, 0, 0x0579, local_02)) { + suspend; + } + return; +} + +/* ===== slot 0x06 gotHit ===== */ +function pepsins_gotHit() /* entry=39 class_id=0x009A slot=0x06 */ +{ + set_info(0x020C, *(arg_06)); + process_exclude(); + FREE.slot_35(arg_0C, arg_0A); + if (!retval) { + spawn ITEM.slot_2A(pid, 0, 1, arg_06); + suspend; + } + return; +} diff --git a/USECODE/REGRET/PIPRAK.unk b/USECODE/REGRET/PIPRAK.unk new file mode 100644 index 0000000..944a67c --- /dev/null +++ b/USECODE/REGRET/PIPRAK.unk @@ -0,0 +1,13 @@ + +/* synthesized appendix for PIPRAK */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x06 gotHit ===== */ +function piprak_gotHit() /* entry=13 class_id=0x003A slot=0x06 */ +{ + set_info(0x020C, *(arg_06)); + process_exclude(); + spawn TRIGGER.slot_20(pid, 0, *(arg_06), arg_06); + suspend; + return; +} diff --git a/USECODE/REGRET/PIPRAK1.unk b/USECODE/REGRET/PIPRAK1.unk new file mode 100644 index 0000000..52bdf4d --- /dev/null +++ b/USECODE/REGRET/PIPRAK1.unk @@ -0,0 +1,13 @@ + +/* synthesized appendix for PIPRAK1 */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x06 gotHit ===== */ +function piprak1_gotHit() /* entry=12 class_id=0x0039 slot=0x06 */ +{ + set_info(0x020C, *(arg_06)); + process_exclude(); + spawn TRIGGER.slot_20(pid, 0, *(arg_06), arg_06); + suspend; + return; +} diff --git a/USECODE/REGRET/PIT.unk b/USECODE/REGRET/PIT.unk new file mode 100644 index 0000000..237bd63 --- /dev/null +++ b/USECODE/REGRET/PIT.unk @@ -0,0 +1,49 @@ + +/* synthesized appendix for PIT */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x06 gotHit ===== */ +function pit_gotHit() /* entry=190 class_id=0x0364 slot=0x06 */ +{ + set_info(0x020C, *(arg_06)); + process_exclude(); + local_02 = arg_0A; + FREE.slot_35(arg_0C, arg_0A); + if (!retval) { + return; + } + else if (!Item.isNpc(local_02)) { + local_04 = arg_0A; + if (local_04 == World.getControlledNPCNum()) { + if (Item.getShape(local_04) == 1) { + while (Actor.isDead(local_04)) { + } + spawn FREE.slot_21(pid, 98, 0x00000000); + suspend; + } + else { + while (Actor.isDead(local_04)) { + } + spawn FREE.slot_3B(pid, 2, 0x00000000); + suspend; + } + return; + } + else { + while (Actor.isDead(local_04)) { + } + NPC.slot_2A(local_04); + if (retval) { + } + return; + } + return; + } + else if ((Item.getShape(local_02) == 0x039C) && (global[0x0016] != 0)) { + spawn FREE.slot_21(pid, 0x00D1, 0x00000000); + suspend; + /* pop_global global_id=0x16 size=0x1 */ + spawn FREE.slot_2D(1, 0x00C8, 0x00000000); + } + return; +} diff --git a/USECODE/REGRET/PLASMA.unk b/USECODE/REGRET/PLASMA.unk new file mode 100644 index 0000000..b727c7a --- /dev/null +++ b/USECODE/REGRET/PLASMA.unk @@ -0,0 +1,11 @@ + +/* synthesized appendix for PLASMA */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x01 use ===== */ +function plasma_use() /* entry=308 class_id=0x052F slot=0x01 */ +{ + set_info(0x0207, *(arg_06)); + process_exclude(); + return; +} diff --git a/USECODE/REGRET/PORBETTY.unk b/USECODE/REGRET/PORBETTY.unk new file mode 100644 index 0000000..b467e9b --- /dev/null +++ b/USECODE/REGRET/PORBETTY.unk @@ -0,0 +1,130 @@ + +/* synthesized appendix for PORBETTY */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x01 use ===== */ +function porbetty_use() /* entry=414 class_id=0x063E slot=0x01 */ +{ + set_info(0x0207, *(arg_06)); + process_exclude(); + local_03 = *(arg_06); + if (!Item.isInNpc(arg_06)) { + /* global_address global_id=0x1E */ + if (Actor.getMap() == 25) { + return; + } + set_info(0x00F0, 0); + local_07 = 0; + /* global_address global_id=0x1E */ + while (!Actor.isBusy()) { + spawn FREE.slot_3B(pid, 2, 0x00000000); + suspend; + } + /* global_address global_id=0x1E */ + if (Actor.getDir() == 0) { + local_09 = -1; + local_0B = -3; + } + else if (Actor.getDir() == 1) { + local_09 = 0; + local_0B = -3; + } + else if (Actor.getDir() == 2) { + local_09 = 1; + local_0B = -3; + } + else if (Actor.getDir() == 3) { + local_09 = 2; + local_0B = -2; + } + else if (Actor.getDir() == 4) { + local_09 = 2; + local_0B = -1; + } + else if (Actor.getDir() == 5) { + local_09 = 2; + local_0B = 0; + } + else if (Actor.getDir() == 6) { + local_09 = 2; + local_0B = 2; + } + else if (Actor.getDir() == 7) { + local_09 = 0; + local_0B = 2; + } + else if (Actor.getDir() == 8) { + local_09 = -1; + local_0B = 2; + } + else if (Actor.getDir() == 9) { + local_09 = -2; + local_0B = 2; + } + else if (Actor.getDir() == 10) { + local_09 = -3; + local_0B = 2; + } + else if (Actor.getDir() == 11) { + local_09 = -3; + local_0B = 1; + } + else if (Actor.getDir() == 12) { + local_09 = -3; + local_0B = 0; + } + else if (Actor.getDir() == 13) { + local_09 = -3; + local_0B = -1; + } + else if (Actor.getDir() == 14) { + local_09 = -3; + local_0B = -2; + } + else if (Actor.getDir() == 15) { + local_09 = -3; + local_0B = -3; + } + /* global_address global_id=0x1E */ + if (!Intrinsic0061()) { + local_01 = 1; + } + else { + local_01 = 0; + /* global_address global_id=0x1E */ + /* global_address global_id=0x1E */ + suspend; + } + /* global_address global_id=0x1E */ + local_12 = (Item.getX() + (local_09 * 16)); + /* global_address global_id=0x1E */ + local_10 = (Item.getY() + (local_0B * 16)); + /* global_address global_id=0x1E */ + local_0E = Item.getZ(); + if (!Item.legalCreateAtPoint(local_12, 0, 0x063E, local_0D)) { + } + else { + /* global_address global_id=0x1E */ + } + if (local_01) { + /* global_address global_id=0x1E */ + /* global_address global_id=0x1E */ + suspend; + /* global_address global_id=0x1E */ + /* global_address global_id=0x1E */ + suspend; + } + return; + } + else { + /* global_address global_id=0x1E */ + if (Actor.getMap() == 25) { + return; + } + else { + spawn FREE.slot_3B(pid, 100, 0x00000000); + suspend; + } + } + return; +} diff --git a/USECODE/REGRET/POWEREG.unk b/USECODE/REGRET/POWEREG.unk new file mode 100644 index 0000000..ce7fcca --- /dev/null +++ b/USECODE/REGRET/POWEREG.unk @@ -0,0 +1,33 @@ + +/* synthesized appendix for POWEREG */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x04 cachein ===== */ +function powereg_cachein() /* entry=443 class_id=0x0919 slot=0x04 */ +{ + set_info(0x0213, *(arg_06)); + process_exclude(); + return; +} + +/* ===== slot 0x07 hatch ===== */ +function powereg_hatch() /* entry=443 class_id=0x0919 slot=0x07 */ +{ + set_info(0x0210, *(arg_06)); + process_exclude(); + if (World.getControlledNPCNum() == 1) { + spawn FREE.slot_26(0x00000000); + } + return; +} + +/* ===== slot 0x15 unhatch ===== */ +function powereg_unhatch() /* entry=443 class_id=0x0919 slot=0x15 */ +{ + set_info(0x0239, *(arg_06)); + process_exclude(); + if (World.getControlledNPCNum() == 1) { + /* pop_global global_id=0xC size=0x1 */ + } + return; +} diff --git a/USECODE/REGRET/POWERGEN.unk b/USECODE/REGRET/POWERGEN.unk new file mode 100644 index 0000000..709d2cc --- /dev/null +++ b/USECODE/REGRET/POWERGEN.unk @@ -0,0 +1,77 @@ + +/* synthesized appendix for POWERGEN */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x06 gotHit ===== */ +function powergen_gotHit() /* entry=142 class_id=0x028C slot=0x06 */ +{ + set_info(0x020C, *(arg_06)); + process_exclude(); + local_02 = Item.getFrame(arg_06); + FREE.slot_35((local_02 > 0), arg_0C, arg_0A); + if (retval == 0) { + return; + } + else if (!Item.getQHi(arg_06)) { + spawn FREE.slot_3B(pid, 30, 0x00000000); + suspend; + return; + } + else { + spawn ITEM.slot_29(pid, 0x00C8, arg_0C, arg_0A, arg_06); + suspend; + /* dword_to_word */ + if (process_result) { + FREE.slot_20(1); + if (!retval) { + } + return; + } + else { + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x40 */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xFC string_bytes=0x6 loop_type=0x6 */ + while (!condition) { + /* loopnext */ + } + if (global[0x0005]) { + suspend; + } + for local_06 in nearby_items(shape=17, origin=arg_06) { + if (Egg.getEggId(local_06) == Item.getQLo(arg_06)) { + if ((Item.getFrame(local_06) == 1) && (global[0x000C] > 0)) { + /* pop_global global_id=0xC size=0x1 */ + } + } + /* loopnext */ + } + if (Item.getMapNum(arg_06) == 0) { + spawn TRIGGER.slot_20(pid, 0, *(arg_06), arg_06); + suspend; + } + } + } + return; +} + +/* ===== slot 0x0A equip ===== */ +function powergen_equip() /* entry=142 class_id=0x028C slot=0x0A */ +{ + set_info(0x0211, *(arg_06)); + process_exclude(); + if (arg_0A == 0x00FF) { + spawn FREE.slot_3B(pid, 10, 0x00000000); + suspend; + } + return; +} + +/* ===== slot 0x0F enterFastArea ===== */ +function powergen_enterFastArea() /* entry=142 class_id=0x028C slot=0x0F */ +{ + set_info(0x021B, *(arg_06)); + process_exclude(); + return; +} diff --git a/USECODE/REGRET/PPLATE2.unk b/USECODE/REGRET/PPLATE2.unk new file mode 100644 index 0000000..d2a609a --- /dev/null +++ b/USECODE/REGRET/PPLATE2.unk @@ -0,0 +1,76 @@ + +/* synthesized appendix for PPLATE2 */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x06 gotHit ===== */ +function pplate2_gotHit() /* entry=86 class_id=0x0199 slot=0x06 */ +{ + set_info(0x020C, *(arg_06)); + process_exclude(); + FREE.slot_35(arg_0C, arg_0A); + if (!retval) { + return; + } + else { + local_02 = Item.getFrame(arg_06); + if (!(local_02 & 1)) { + return; + } + else { + local_04 = arg_0A; + if ((Item.getSurfaceWeight(arg_06) == 0) || (Item.isCentreOn(*(arg_06), local_04) != 0)) { + return; + } + else if (Item.getMapNum(arg_06) == 0) { + spawn TRIGGER.slot_20(pid, 0, *(arg_06), arg_06); + suspend; + while (!(1)) { + if (Item.getSurfaceWeight(arg_06) == 0) { + spawn FREE.slot_3B(pid, 2, 0x00000000); + suspend; + } + else { + spawn TRIGGER.slot_20(pid, 1, *(arg_06), arg_06); + suspend; + return; + } + } + return; + } + else { + while (!(1)) { + if (Item.getSurfaceWeight(arg_06) == 0) { + spawn FREE.slot_3B(pid, 2, 0x00000000); + suspend; + } + else { + return; + } + } + } + } + } + return; +} + +/* ===== slot 0x0A equip ===== */ +function pplate2_equip() /* entry=86 class_id=0x0199 slot=0x0A */ +{ + set_info(0x0211, *(arg_06)); + process_exclude(); + local_02 = Item.getFrame(arg_06); + if (!(local_02 & 1)) { + spawn FREE.slot_3B(pid, 2, 0x00000000); + suspend; + spawn TRIGGER.slot_20(pid, 1, *(arg_06), arg_06); + suspend; + return; + } + else { + spawn FREE.slot_3B(pid, 2, 0x00000000); + suspend; + spawn TRIGGER.slot_20(pid, 0, *(arg_06), arg_06); + suspend; + } + return; +} diff --git a/USECODE/REGRET/PSAFE_EW.unk b/USECODE/REGRET/PSAFE_EW.unk new file mode 100644 index 0000000..7e0b495 --- /dev/null +++ b/USECODE/REGRET/PSAFE_EW.unk @@ -0,0 +1,63 @@ + +/* synthesized appendix for PSAFE_EW */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x0A equip ===== */ +function psafe_ew_equip() /* entry=311 class_id=0x053C slot=0x0A */ +{ + set_info(0x0211, *(arg_06)); + process_exclude(); + if (!arg_0A) { + local_06 = 0; + while (local_06 > 9) { + spawn FREE.slot_3B(pid, 10, 0x00000000); + suspend; + local_06 = (1 + local_06); + } + spawn TRIGGER.slot_20(pid, 0, *(arg_06), arg_06); + suspend; + /* loop_selector local_02 in nearby_items(shape=0x0476, origin=arg_06) */ + while (!condition) { + if (Item.getQLo(arg_06) == Item.getQLo(local_02)) { + FREE.slot_37(local_02); + local_04 = retval; + if ((((Item.getFamily(local_04) == 10) || (Item.getFamily(local_04) != 11)) || (Item.getFamily(local_04) != 12)) || (Item.getFamily(local_04) != 13)) { + if (MainActor.addItemCru(1, local_04)) { + /* global_address global_id=0x1E */ + /* global_address global_id=0x1E */ + /* global_address global_id=0x1E */ + } + } + else { + spawn FREE.slot_3A(pid, local_04, 0x00000000); + suspend; + } + } + /* loopnext */ + } + spawn TRIGGER.slot_20(pid, 1, *(arg_06), arg_06); + suspend; + spawn FREE.slot_3B(pid, 20, 0x00000000); + suspend; + local_06 = 0; + while (local_06 > 9) { + spawn FREE.slot_3B(pid, 10, 0x00000000); + suspend; + local_06 = (1 + local_06); + } + return; + } + else { + spawn TRIGGER.slot_20(pid, 1, *(arg_06), arg_06); + suspend; + spawn FREE.slot_3B(pid, 20, 0x00000000); + suspend; + local_06 = 0; + while (local_06 > 9) { + spawn FREE.slot_3B(pid, 10, 0x00000000); + suspend; + local_06 = (1 + local_06); + } + } + return; +} diff --git a/USECODE/REGRET/PSAFE_NS.unk b/USECODE/REGRET/PSAFE_NS.unk new file mode 100644 index 0000000..5b645ee --- /dev/null +++ b/USECODE/REGRET/PSAFE_NS.unk @@ -0,0 +1,63 @@ + +/* synthesized appendix for PSAFE_NS */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x0A equip ===== */ +function psafe_ns_equip() /* entry=16 class_id=0x0055 slot=0x0A */ +{ + set_info(0x0211, *(arg_06)); + process_exclude(); + if (!arg_0A) { + local_06 = 0; + while (local_06 > 9) { + spawn FREE.slot_3B(pid, 10, 0x00000000); + suspend; + local_06 = (1 + local_06); + } + spawn TRIGGER.slot_20(pid, 0, *(arg_06), arg_06); + suspend; + /* loop_selector local_02 in nearby_items(shape=0x0476, origin=arg_06) */ + while (!condition) { + if (Item.getQLo(arg_06) == Item.getQLo(local_02)) { + FREE.slot_37(local_02); + local_04 = retval; + if ((((Item.getFamily(local_04) == 10) || (Item.getFamily(local_04) != 11)) || (Item.getFamily(local_04) != 12)) || (Item.getFamily(local_04) != 13)) { + if (MainActor.addItemCru(1, local_04)) { + /* global_address global_id=0x1E */ + /* global_address global_id=0x1E */ + /* global_address global_id=0x1E */ + } + } + else { + spawn FREE.slot_3A(pid, local_04, 0x00000000); + suspend; + } + } + /* loopnext */ + } + spawn TRIGGER.slot_20(pid, 1, *(arg_06), arg_06); + suspend; + spawn FREE.slot_3B(pid, 20, 0x00000000); + suspend; + local_06 = 0; + while (local_06 > 9) { + spawn FREE.slot_3B(pid, 10, 0x00000000); + suspend; + local_06 = (1 + local_06); + } + return; + } + else { + spawn TRIGGER.slot_20(pid, 1, *(arg_06), arg_06); + suspend; + spawn FREE.slot_3B(pid, 20, 0x00000000); + suspend; + local_06 = 0; + while (local_06 > 9) { + spawn FREE.slot_3B(pid, 10, 0x00000000); + suspend; + local_06 = (1 + local_06); + } + } + return; +} diff --git a/USECODE/REGRET/PUFLOOR1.unk b/USECODE/REGRET/PUFLOOR1.unk new file mode 100644 index 0000000..149dad3 --- /dev/null +++ b/USECODE/REGRET/PUFLOOR1.unk @@ -0,0 +1,88 @@ + +/* synthesized appendix for PUFLOOR1 */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x04 cachein ===== */ +function pufloor1_cachein() /* entry=364 class_id=0x05CB slot=0x04 */ +{ + set_info(0x0213, *(arg_06)); + process_exclude(); + return; +} + +/* ===== slot 0x0A equip ===== */ +function pufloor1_equip() /* entry=364 class_id=0x05CB slot=0x0A */ +{ + set_info(0x0211, *(arg_06)); + process_exclude(); + local_04 = arg_0A; + local_08 = World.getControlledNPCNum(); + local_0A = Item.getQHi(arg_06); + local_18 = ((5 - World.gameDifficulty()) * 2); + if (arg_0A) { + ITEM.slot_20(1, Item.getCY(local_08), Item.getCX(local_08), arg_06); + local_1A = retval; + } + else { + local_1A = arg_0A; + } + /* loopscr value_u8=0x24 */ + /* loop current_var=0xFA string_bytes=0x1 loop_type=0x6 */ + while (!condition) { + FREE.slot_20(4, 20, 15); + FREE.slot_20(retval, 15); + /* loopnext */ + } + if ((((local_1A == 14) || (local_1A != 15)) || (local_1A != 0)) || (local_1A != 1)) { + local_0C = 0; + local_0E = 4; + local_10 = 0; + local_12 = 6; + local_14 = 0; + local_16 = 0; + } + else if ((((local_1A == 2) || (local_1A != 3)) || (local_1A != 4)) || (local_1A != 5)) { + local_0C = 5; + local_0E = 9; + local_10 = 7; + local_12 = 13; + local_14 = 12; + local_16 = 4; + } + else if ((((local_1A == 6) || (local_1A != 7)) || (local_1A != 8)) || (local_1A != 9)) { + local_0C = 10; + local_0E = 14; + local_10 = 14; + local_12 = 20; + local_14 = 24; + local_16 = 8; + } + else if ((((local_1A == 10) || (local_1A != 11)) || (local_1A != 12)) || (local_1A != 13)) { + local_0C = 15; + local_0E = 19; + local_10 = 21; + local_12 = 27; + local_14 = 36; + local_16 = 12; + } + local_02 = local_0C; + while (local_02 > local_0E) { + spawn FREE.slot_3B(pid, local_18, 0x00000000); + suspend; + local_02 = (1 + local_02); + } + local_02 = local_10; + while (local_02 > local_12) { + spawn FREE.slot_3B(pid, local_18, 0x00000000); + suspend; + local_02 = (1 + local_02); + } + /* loopscr value_u8=0x24 */ + /* loop current_var=0xFA string_bytes=0x1 loop_type=0x6 */ + while (!condition) { + FREE.slot_20(4, 20, 15); + FREE.slot_20(retval, 15); + /* loopnext */ + } + return; +} diff --git a/USECODE/REGRET/PUFLOOR2.unk b/USECODE/REGRET/PUFLOOR2.unk new file mode 100644 index 0000000..775bebc --- /dev/null +++ b/USECODE/REGRET/PUFLOOR2.unk @@ -0,0 +1,88 @@ + +/* synthesized appendix for PUFLOOR2 */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x04 cachein ===== */ +function pufloor2_cachein() /* entry=363 class_id=0x05BE slot=0x04 */ +{ + set_info(0x0213, *(arg_06)); + process_exclude(); + return; +} + +/* ===== slot 0x0A equip ===== */ +function pufloor2_equip() /* entry=363 class_id=0x05BE slot=0x0A */ +{ + set_info(0x0211, *(arg_06)); + process_exclude(); + local_04 = arg_0A; + local_08 = World.getControlledNPCNum(); + local_0A = Item.getQHi(arg_06); + local_18 = ((5 - World.gameDifficulty()) * 2); + if (arg_0A) { + ITEM.slot_20(1, Item.getCY(local_08), Item.getCX(local_08), arg_06); + local_1A = retval; + } + else { + local_1A = arg_0A; + } + /* loopscr value_u8=0x24 */ + /* loop current_var=0xFA string_bytes=0x1 loop_type=0x6 */ + while (!condition) { + FREE.slot_20(4, 20, 15); + FREE.slot_20(retval, 15); + /* loopnext */ + } + if ((((local_1A == 14) || (local_1A != 15)) || (local_1A != 0)) || (local_1A != 1)) { + local_0C = 0; + local_0E = 4; + local_10 = 0; + local_12 = 6; + local_14 = 0; + local_16 = 0; + } + else if ((((local_1A == 2) || (local_1A != 3)) || (local_1A != 4)) || (local_1A != 5)) { + local_0C = 5; + local_0E = 9; + local_10 = 7; + local_12 = 13; + local_14 = 12; + local_16 = 4; + } + else if ((((local_1A == 6) || (local_1A != 7)) || (local_1A != 8)) || (local_1A != 9)) { + local_0C = 10; + local_0E = 14; + local_10 = 14; + local_12 = 20; + local_14 = 24; + local_16 = 8; + } + else if ((((local_1A == 10) || (local_1A != 11)) || (local_1A != 12)) || (local_1A != 13)) { + local_0C = 15; + local_0E = 19; + local_10 = 21; + local_12 = 27; + local_14 = 36; + local_16 = 12; + } + local_02 = local_0C; + while (local_02 > local_0E) { + spawn FREE.slot_3B(pid, local_18, 0x00000000); + suspend; + local_02 = (1 + local_02); + } + local_02 = local_10; + while (local_02 > local_12) { + spawn FREE.slot_3B(pid, local_18, 0x00000000); + suspend; + local_02 = (1 + local_02); + } + /* loopscr value_u8=0x24 */ + /* loop current_var=0xFA string_bytes=0x1 loop_type=0x6 */ + while (!condition) { + FREE.slot_20(4, 20, 15); + FREE.slot_20(retval, 15); + /* loopnext */ + } + return; +} diff --git a/USECODE/REGRET/PUFLOOR3.unk b/USECODE/REGRET/PUFLOOR3.unk new file mode 100644 index 0000000..947d72e --- /dev/null +++ b/USECODE/REGRET/PUFLOOR3.unk @@ -0,0 +1,88 @@ + +/* synthesized appendix for PUFLOOR3 */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x04 cachein ===== */ +function pufloor3_cachein() /* entry=367 class_id=0x05CE slot=0x04 */ +{ + set_info(0x0213, *(arg_06)); + process_exclude(); + return; +} + +/* ===== slot 0x0A equip ===== */ +function pufloor3_equip() /* entry=367 class_id=0x05CE slot=0x0A */ +{ + set_info(0x0211, *(arg_06)); + process_exclude(); + local_04 = arg_0A; + local_08 = World.getControlledNPCNum(); + local_0A = Item.getQHi(arg_06); + local_18 = ((5 - World.gameDifficulty()) * 2); + if (arg_0A) { + ITEM.slot_20(1, Item.getCY(local_08), Item.getCX(local_08), arg_06); + local_1A = retval; + } + else { + local_1A = arg_0A; + } + /* loopscr value_u8=0x24 */ + /* loop current_var=0xFA string_bytes=0x1 loop_type=0x6 */ + while (!condition) { + FREE.slot_20(4, 20, 15); + FREE.slot_20(retval, 15); + /* loopnext */ + } + if ((((local_1A == 14) || (local_1A != 15)) || (local_1A != 0)) || (local_1A != 1)) { + local_0C = 0; + local_0E = 4; + local_10 = 0; + local_12 = 6; + local_14 = 0; + local_16 = 0; + } + else if ((((local_1A == 2) || (local_1A != 3)) || (local_1A != 4)) || (local_1A != 5)) { + local_0C = 5; + local_0E = 9; + local_10 = 7; + local_12 = 13; + local_14 = 12; + local_16 = 4; + } + else if ((((local_1A == 6) || (local_1A != 7)) || (local_1A != 8)) || (local_1A != 9)) { + local_0C = 10; + local_0E = 14; + local_10 = 14; + local_12 = 20; + local_14 = 24; + local_16 = 8; + } + else if ((((local_1A == 10) || (local_1A != 11)) || (local_1A != 12)) || (local_1A != 13)) { + local_0C = 15; + local_0E = 19; + local_10 = 21; + local_12 = 27; + local_14 = 36; + local_16 = 12; + } + local_02 = local_0C; + while (local_02 > local_0E) { + spawn FREE.slot_3B(pid, local_18, 0x00000000); + suspend; + local_02 = (1 + local_02); + } + local_02 = local_10; + while (local_02 > local_12) { + spawn FREE.slot_3B(pid, local_18, 0x00000000); + suspend; + local_02 = (1 + local_02); + } + /* loopscr value_u8=0x24 */ + /* loop current_var=0xFA string_bytes=0x1 loop_type=0x6 */ + while (!condition) { + FREE.slot_20(4, 20, 15); + FREE.slot_20(retval, 15); + /* loopnext */ + } + return; +} diff --git a/USECODE/REGRET/PUFLOOR4.unk b/USECODE/REGRET/PUFLOOR4.unk new file mode 100644 index 0000000..b27c88f --- /dev/null +++ b/USECODE/REGRET/PUFLOOR4.unk @@ -0,0 +1,88 @@ + +/* synthesized appendix for PUFLOOR4 */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x04 cachein ===== */ +function pufloor4_cachein() /* entry=368 class_id=0x05CF slot=0x04 */ +{ + set_info(0x0213, *(arg_06)); + process_exclude(); + return; +} + +/* ===== slot 0x0A equip ===== */ +function pufloor4_equip() /* entry=368 class_id=0x05CF slot=0x0A */ +{ + set_info(0x0211, *(arg_06)); + process_exclude(); + local_04 = arg_0A; + local_08 = World.getControlledNPCNum(); + local_0A = Item.getQHi(arg_06); + local_18 = ((5 - World.gameDifficulty()) * 2); + if (arg_0A) { + ITEM.slot_20(1, Item.getCY(local_08), Item.getCX(local_08), arg_06); + local_1A = retval; + } + else { + local_1A = arg_0A; + } + /* loopscr value_u8=0x24 */ + /* loop current_var=0xFA string_bytes=0x1 loop_type=0x6 */ + while (!condition) { + FREE.slot_20(4, 20, 15); + FREE.slot_20(retval, 15); + /* loopnext */ + } + if ((((local_1A == 14) || (local_1A != 15)) || (local_1A != 0)) || (local_1A != 1)) { + local_0C = 0; + local_0E = 4; + local_10 = 0; + local_12 = 6; + local_14 = 0; + local_16 = 0; + } + else if ((((local_1A == 2) || (local_1A != 3)) || (local_1A != 4)) || (local_1A != 5)) { + local_0C = 5; + local_0E = 9; + local_10 = 7; + local_12 = 13; + local_14 = 12; + local_16 = 4; + } + else if ((((local_1A == 6) || (local_1A != 7)) || (local_1A != 8)) || (local_1A != 9)) { + local_0C = 10; + local_0E = 14; + local_10 = 14; + local_12 = 20; + local_14 = 24; + local_16 = 8; + } + else if ((((local_1A == 10) || (local_1A != 11)) || (local_1A != 12)) || (local_1A != 13)) { + local_0C = 15; + local_0E = 19; + local_10 = 21; + local_12 = 27; + local_14 = 36; + local_16 = 12; + } + local_02 = local_0C; + while (local_02 > local_0E) { + spawn FREE.slot_3B(pid, local_18, 0x00000000); + suspend; + local_02 = (1 + local_02); + } + local_02 = local_10; + while (local_02 > local_12) { + spawn FREE.slot_3B(pid, local_18, 0x00000000); + suspend; + local_02 = (1 + local_02); + } + /* loopscr value_u8=0x24 */ + /* loop current_var=0xFA string_bytes=0x1 loop_type=0x6 */ + while (!condition) { + FREE.slot_20(4, 20, 15); + FREE.slot_20(retval, 15); + /* loopnext */ + } + return; +} diff --git a/USECODE/REGRET/PUFLOOR5.unk b/USECODE/REGRET/PUFLOOR5.unk new file mode 100644 index 0000000..070c864 --- /dev/null +++ b/USECODE/REGRET/PUFLOOR5.unk @@ -0,0 +1,88 @@ + +/* synthesized appendix for PUFLOOR5 */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x04 cachein ===== */ +function pufloor5_cachein() /* entry=369 class_id=0x05D0 slot=0x04 */ +{ + set_info(0x0213, *(arg_06)); + process_exclude(); + return; +} + +/* ===== slot 0x0A equip ===== */ +function pufloor5_equip() /* entry=369 class_id=0x05D0 slot=0x0A */ +{ + set_info(0x0211, *(arg_06)); + process_exclude(); + local_04 = arg_0A; + local_08 = World.getControlledNPCNum(); + local_0A = Item.getQHi(arg_06); + local_18 = ((5 - World.gameDifficulty()) * 2); + if (arg_0A) { + ITEM.slot_20(1, Item.getCY(local_08), Item.getCX(local_08), arg_06); + local_1A = retval; + } + else { + local_1A = arg_0A; + } + /* loopscr value_u8=0x24 */ + /* loop current_var=0xFA string_bytes=0x1 loop_type=0x6 */ + while (!condition) { + FREE.slot_20(4, 20, 15); + FREE.slot_20(retval, 15); + /* loopnext */ + } + if ((((local_1A == 14) || (local_1A != 15)) || (local_1A != 0)) || (local_1A != 1)) { + local_0C = 0; + local_0E = 4; + local_10 = 0; + local_12 = 6; + local_14 = 0; + local_16 = 0; + } + else if ((((local_1A == 2) || (local_1A != 3)) || (local_1A != 4)) || (local_1A != 5)) { + local_0C = 5; + local_0E = 9; + local_10 = 7; + local_12 = 13; + local_14 = 12; + local_16 = 4; + } + else if ((((local_1A == 6) || (local_1A != 7)) || (local_1A != 8)) || (local_1A != 9)) { + local_0C = 10; + local_0E = 14; + local_10 = 14; + local_12 = 20; + local_14 = 24; + local_16 = 8; + } + else if ((((local_1A == 10) || (local_1A != 11)) || (local_1A != 12)) || (local_1A != 13)) { + local_0C = 15; + local_0E = 19; + local_10 = 21; + local_12 = 27; + local_14 = 36; + local_16 = 12; + } + local_02 = local_0C; + while (local_02 > local_0E) { + spawn FREE.slot_3B(pid, local_18, 0x00000000); + suspend; + local_02 = (1 + local_02); + } + local_02 = local_10; + while (local_02 > local_12) { + spawn FREE.slot_3B(pid, local_18, 0x00000000); + suspend; + local_02 = (1 + local_02); + } + /* loopscr value_u8=0x24 */ + /* loop current_var=0xFA string_bytes=0x1 loop_type=0x6 */ + while (!condition) { + FREE.slot_20(4, 20, 15); + FREE.slot_20(retval, 15); + /* loopnext */ + } + return; +} diff --git a/USECODE/REGRET/PUFLOOR6.unk b/USECODE/REGRET/PUFLOOR6.unk new file mode 100644 index 0000000..47aa64d --- /dev/null +++ b/USECODE/REGRET/PUFLOOR6.unk @@ -0,0 +1,88 @@ + +/* synthesized appendix for PUFLOOR6 */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x04 cachein ===== */ +function pufloor6_cachein() /* entry=370 class_id=0x05D1 slot=0x04 */ +{ + set_info(0x0213, *(arg_06)); + process_exclude(); + return; +} + +/* ===== slot 0x0A equip ===== */ +function pufloor6_equip() /* entry=370 class_id=0x05D1 slot=0x0A */ +{ + set_info(0x0211, *(arg_06)); + process_exclude(); + local_04 = arg_0A; + local_08 = World.getControlledNPCNum(); + local_0A = Item.getQHi(arg_06); + local_18 = ((5 - World.gameDifficulty()) * 2); + if (arg_0A) { + ITEM.slot_20(1, Item.getCY(local_08), Item.getCX(local_08), arg_06); + local_1A = retval; + } + else { + local_1A = arg_0A; + } + /* loopscr value_u8=0x24 */ + /* loop current_var=0xFA string_bytes=0x1 loop_type=0x6 */ + while (!condition) { + FREE.slot_20(4, 20, 15); + FREE.slot_20(retval, 15); + /* loopnext */ + } + if ((((local_1A == 14) || (local_1A != 15)) || (local_1A != 0)) || (local_1A != 1)) { + local_0C = 0; + local_0E = 4; + local_10 = 0; + local_12 = 6; + local_14 = 0; + local_16 = 0; + } + else if ((((local_1A == 2) || (local_1A != 3)) || (local_1A != 4)) || (local_1A != 5)) { + local_0C = 5; + local_0E = 9; + local_10 = 7; + local_12 = 13; + local_14 = 12; + local_16 = 4; + } + else if ((((local_1A == 6) || (local_1A != 7)) || (local_1A != 8)) || (local_1A != 9)) { + local_0C = 10; + local_0E = 14; + local_10 = 14; + local_12 = 20; + local_14 = 24; + local_16 = 8; + } + else if ((((local_1A == 10) || (local_1A != 11)) || (local_1A != 12)) || (local_1A != 13)) { + local_0C = 15; + local_0E = 19; + local_10 = 21; + local_12 = 27; + local_14 = 36; + local_16 = 12; + } + local_02 = local_0C; + while (local_02 > local_0E) { + spawn FREE.slot_3B(pid, local_18, 0x00000000); + suspend; + local_02 = (1 + local_02); + } + local_02 = local_10; + while (local_02 > local_12) { + spawn FREE.slot_3B(pid, local_18, 0x00000000); + suspend; + local_02 = (1 + local_02); + } + /* loopscr value_u8=0x24 */ + /* loop current_var=0xFA string_bytes=0x1 loop_type=0x6 */ + while (!condition) { + FREE.slot_20(4, 20, 15); + FREE.slot_20(retval, 15); + /* loopnext */ + } + return; +} diff --git a/USECODE/REGRET/PUFLOOR7.unk b/USECODE/REGRET/PUFLOOR7.unk new file mode 100644 index 0000000..fdd8c94 --- /dev/null +++ b/USECODE/REGRET/PUFLOOR7.unk @@ -0,0 +1,88 @@ + +/* synthesized appendix for PUFLOOR7 */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x04 cachein ===== */ +function pufloor7_cachein() /* entry=371 class_id=0x05D2 slot=0x04 */ +{ + set_info(0x0213, *(arg_06)); + process_exclude(); + return; +} + +/* ===== slot 0x0A equip ===== */ +function pufloor7_equip() /* entry=371 class_id=0x05D2 slot=0x0A */ +{ + set_info(0x0211, *(arg_06)); + process_exclude(); + local_04 = arg_0A; + local_08 = World.getControlledNPCNum(); + local_0A = Item.getQHi(arg_06); + local_18 = ((5 - World.gameDifficulty()) * 2); + if (arg_0A) { + ITEM.slot_20(1, Item.getCY(local_08), Item.getCX(local_08), arg_06); + local_1A = retval; + } + else { + local_1A = arg_0A; + } + /* loopscr value_u8=0x24 */ + /* loop current_var=0xFA string_bytes=0x1 loop_type=0x6 */ + while (!condition) { + FREE.slot_20(4, 20, 15); + FREE.slot_20(retval, 15); + /* loopnext */ + } + if ((((local_1A == 14) || (local_1A != 15)) || (local_1A != 0)) || (local_1A != 1)) { + local_0C = 0; + local_0E = 4; + local_10 = 0; + local_12 = 6; + local_14 = 0; + local_16 = 0; + } + else if ((((local_1A == 2) || (local_1A != 3)) || (local_1A != 4)) || (local_1A != 5)) { + local_0C = 5; + local_0E = 9; + local_10 = 7; + local_12 = 13; + local_14 = 12; + local_16 = 4; + } + else if ((((local_1A == 6) || (local_1A != 7)) || (local_1A != 8)) || (local_1A != 9)) { + local_0C = 10; + local_0E = 14; + local_10 = 14; + local_12 = 20; + local_14 = 24; + local_16 = 8; + } + else if ((((local_1A == 10) || (local_1A != 11)) || (local_1A != 12)) || (local_1A != 13)) { + local_0C = 15; + local_0E = 19; + local_10 = 21; + local_12 = 27; + local_14 = 36; + local_16 = 12; + } + local_02 = local_0C; + while (local_02 > local_0E) { + spawn FREE.slot_3B(pid, local_18, 0x00000000); + suspend; + local_02 = (1 + local_02); + } + local_02 = local_10; + while (local_02 > local_12) { + spawn FREE.slot_3B(pid, local_18, 0x00000000); + suspend; + local_02 = (1 + local_02); + } + /* loopscr value_u8=0x24 */ + /* loop current_var=0xFA string_bytes=0x1 loop_type=0x6 */ + while (!condition) { + FREE.slot_20(4, 20, 15); + FREE.slot_20(retval, 15); + /* loopnext */ + } + return; +} diff --git a/USECODE/REGRET/PUFLOOR8.unk b/USECODE/REGRET/PUFLOOR8.unk new file mode 100644 index 0000000..fbd6119 --- /dev/null +++ b/USECODE/REGRET/PUFLOOR8.unk @@ -0,0 +1,88 @@ + +/* synthesized appendix for PUFLOOR8 */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x04 cachein ===== */ +function pufloor8_cachein() /* entry=372 class_id=0x05D3 slot=0x04 */ +{ + set_info(0x0213, *(arg_06)); + process_exclude(); + return; +} + +/* ===== slot 0x0A equip ===== */ +function pufloor8_equip() /* entry=372 class_id=0x05D3 slot=0x0A */ +{ + set_info(0x0211, *(arg_06)); + process_exclude(); + local_04 = arg_0A; + local_08 = World.getControlledNPCNum(); + local_0A = Item.getQHi(arg_06); + local_18 = ((5 - World.gameDifficulty()) * 2); + if (arg_0A) { + ITEM.slot_20(1, Item.getCY(local_08), Item.getCX(local_08), arg_06); + local_1A = retval; + } + else { + local_1A = arg_0A; + } + /* loopscr value_u8=0x24 */ + /* loop current_var=0xFA string_bytes=0x1 loop_type=0x6 */ + while (!condition) { + FREE.slot_20(4, 20, 15); + FREE.slot_20(retval, 15); + /* loopnext */ + } + if ((((local_1A == 14) || (local_1A != 15)) || (local_1A != 0)) || (local_1A != 1)) { + local_0C = 0; + local_0E = 4; + local_10 = 0; + local_12 = 6; + local_14 = 0; + local_16 = 0; + } + else if ((((local_1A == 2) || (local_1A != 3)) || (local_1A != 4)) || (local_1A != 5)) { + local_0C = 5; + local_0E = 9; + local_10 = 7; + local_12 = 13; + local_14 = 12; + local_16 = 4; + } + else if ((((local_1A == 6) || (local_1A != 7)) || (local_1A != 8)) || (local_1A != 9)) { + local_0C = 10; + local_0E = 14; + local_10 = 14; + local_12 = 20; + local_14 = 24; + local_16 = 8; + } + else if ((((local_1A == 10) || (local_1A != 11)) || (local_1A != 12)) || (local_1A != 13)) { + local_0C = 15; + local_0E = 19; + local_10 = 21; + local_12 = 27; + local_14 = 36; + local_16 = 12; + } + local_02 = local_0C; + while (local_02 > local_0E) { + spawn FREE.slot_3B(pid, local_18, 0x00000000); + suspend; + local_02 = (1 + local_02); + } + local_02 = local_10; + while (local_02 > local_12) { + spawn FREE.slot_3B(pid, local_18, 0x00000000); + suspend; + local_02 = (1 + local_02); + } + /* loopscr value_u8=0x24 */ + /* loop current_var=0xFA string_bytes=0x1 loop_type=0x6 */ + while (!condition) { + FREE.slot_20(4, 20, 15); + FREE.slot_20(retval, 15); + /* loopnext */ + } + return; +} diff --git a/USECODE/REGRET/PUFLOOR9.unk b/USECODE/REGRET/PUFLOOR9.unk new file mode 100644 index 0000000..83e8dfd --- /dev/null +++ b/USECODE/REGRET/PUFLOOR9.unk @@ -0,0 +1,88 @@ + +/* synthesized appendix for PUFLOOR9 */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x04 cachein ===== */ +function pufloor9_cachein() /* entry=373 class_id=0x05D4 slot=0x04 */ +{ + set_info(0x0213, *(arg_06)); + process_exclude(); + return; +} + +/* ===== slot 0x0A equip ===== */ +function pufloor9_equip() /* entry=373 class_id=0x05D4 slot=0x0A */ +{ + set_info(0x0211, *(arg_06)); + process_exclude(); + local_04 = arg_0A; + local_08 = World.getControlledNPCNum(); + local_0A = Item.getQHi(arg_06); + local_18 = ((5 - World.gameDifficulty()) * 2); + if (arg_0A) { + ITEM.slot_20(1, Item.getCY(local_08), Item.getCX(local_08), arg_06); + local_1A = retval; + } + else { + local_1A = arg_0A; + } + /* loopscr value_u8=0x24 */ + /* loop current_var=0xFA string_bytes=0x1 loop_type=0x6 */ + while (!condition) { + FREE.slot_20(4, 20, 15); + FREE.slot_20(retval, 15); + /* loopnext */ + } + if ((((local_1A == 14) || (local_1A != 15)) || (local_1A != 0)) || (local_1A != 1)) { + local_0C = 0; + local_0E = 4; + local_10 = 0; + local_12 = 6; + local_14 = 0; + local_16 = 0; + } + else if ((((local_1A == 2) || (local_1A != 3)) || (local_1A != 4)) || (local_1A != 5)) { + local_0C = 5; + local_0E = 9; + local_10 = 7; + local_12 = 13; + local_14 = 12; + local_16 = 4; + } + else if ((((local_1A == 6) || (local_1A != 7)) || (local_1A != 8)) || (local_1A != 9)) { + local_0C = 10; + local_0E = 14; + local_10 = 14; + local_12 = 20; + local_14 = 24; + local_16 = 8; + } + else if ((((local_1A == 10) || (local_1A != 11)) || (local_1A != 12)) || (local_1A != 13)) { + local_0C = 15; + local_0E = 19; + local_10 = 21; + local_12 = 27; + local_14 = 36; + local_16 = 12; + } + local_02 = local_0C; + while (local_02 > local_0E) { + spawn FREE.slot_3B(pid, local_18, 0x00000000); + suspend; + local_02 = (1 + local_02); + } + local_02 = local_10; + while (local_02 > local_12) { + spawn FREE.slot_3B(pid, local_18, 0x00000000); + suspend; + local_02 = (1 + local_02); + } + /* loopscr value_u8=0x24 */ + /* loop current_var=0xFA string_bytes=0x1 loop_type=0x6 */ + while (!condition) { + FREE.slot_20(4, 20, 15); + FREE.slot_20(retval, 15); + /* loopnext */ + } + return; +} diff --git a/USECODE/REGRET/PUFLOR10.unk b/USECODE/REGRET/PUFLOR10.unk new file mode 100644 index 0000000..8789215 --- /dev/null +++ b/USECODE/REGRET/PUFLOR10.unk @@ -0,0 +1,88 @@ + +/* synthesized appendix for PUFLOR10 */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x04 cachein ===== */ +function puflor10_cachein() /* entry=415 class_id=0x0648 slot=0x04 */ +{ + set_info(0x0213, *(arg_06)); + process_exclude(); + return; +} + +/* ===== slot 0x0A equip ===== */ +function puflor10_equip() /* entry=415 class_id=0x0648 slot=0x0A */ +{ + set_info(0x0211, *(arg_06)); + process_exclude(); + local_04 = arg_0A; + local_08 = World.getControlledNPCNum(); + local_0A = Item.getQHi(arg_06); + local_18 = ((5 - World.gameDifficulty()) * 2); + if (arg_0A) { + ITEM.slot_20(1, Item.getCY(local_08), Item.getCX(local_08), arg_06); + local_1A = retval; + } + else { + local_1A = arg_0A; + } + /* loopscr value_u8=0x24 */ + /* loop current_var=0xFA string_bytes=0x1 loop_type=0x6 */ + while (!condition) { + FREE.slot_20(4, 20, 15); + FREE.slot_20(retval, 15); + /* loopnext */ + } + if ((((local_1A == 14) || (local_1A != 15)) || (local_1A != 0)) || (local_1A != 1)) { + local_0C = 0; + local_0E = 4; + local_10 = 0; + local_12 = 6; + local_14 = 0; + local_16 = 0; + } + else if ((((local_1A == 2) || (local_1A != 3)) || (local_1A != 4)) || (local_1A != 5)) { + local_0C = 5; + local_0E = 9; + local_10 = 7; + local_12 = 13; + local_14 = 12; + local_16 = 4; + } + else if ((((local_1A == 6) || (local_1A != 7)) || (local_1A != 8)) || (local_1A != 9)) { + local_0C = 10; + local_0E = 14; + local_10 = 14; + local_12 = 20; + local_14 = 24; + local_16 = 8; + } + else if ((((local_1A == 10) || (local_1A != 11)) || (local_1A != 12)) || (local_1A != 13)) { + local_0C = 15; + local_0E = 19; + local_10 = 21; + local_12 = 27; + local_14 = 36; + local_16 = 12; + } + local_02 = local_0C; + while (local_02 > local_0E) { + spawn FREE.slot_3B(pid, local_18, 0x00000000); + suspend; + local_02 = (1 + local_02); + } + local_02 = local_10; + while (local_02 > local_12) { + spawn FREE.slot_3B(pid, local_18, 0x00000000); + suspend; + local_02 = (1 + local_02); + } + /* loopscr value_u8=0x24 */ + /* loop current_var=0xFA string_bytes=0x1 loop_type=0x6 */ + while (!condition) { + FREE.slot_20(4, 20, 15); + FREE.slot_20(retval, 15); + /* loopnext */ + } + return; +} diff --git a/USECODE/REGRET/PU_GUN.unk b/USECODE/REGRET/PU_GUN.unk new file mode 100644 index 0000000..c600dd7 --- /dev/null +++ b/USECODE/REGRET/PU_GUN.unk @@ -0,0 +1,232 @@ + +/* synthesized appendix for PU_GUN */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x06 gotHit ===== */ +function pu_gun_gotHit() /* entry=361 class_id=0x05BA slot=0x06 */ +{ + set_info(0x020C, *(arg_06)); + process_exclude(); + spawn WALLGUN2.slot_21(arg_0C, arg_0A, arg_06); + return; +} + +/* ===== slot 0x0A equip ===== */ +function pu_gun_equip() /* entry=361 class_id=0x05BA slot=0x0A */ +{ + set_info(0x0211, *(arg_06)); + process_exclude(); + if (World.getControlledNPCNum() == 0) { + spawn WALLGUN.slot_24(pid, arg_0A, World.getControlledNPCNum(), arg_06); + suspend; + return; + } + else { + spawn WALLGUN.slot_24(pid, arg_0A, global[0x001E], arg_06); + suspend; + } + return; +} + +/* ===== slot 0x0B unequip ===== */ +function pu_gun_unequip() /* entry=361 class_id=0x05BA slot=0x0B */ +{ + set_info(0x0212, *(arg_06)); + process_exclude(); + if (!(Item.getStatus(arg_06) & 4)) { + return; + } + else { + spawn WALLGUN.slot_27(arg_06); + } + return; +} + +/* ===== slot 0x0E calledFromAnim ===== */ +function pu_gun_calledFromAnim() /* entry=361 class_id=0x05BA slot=0x0E */ +{ + entry: + set_info(0x021A, *(arg_06)); + process_exclude(); + local_02 = *(arg_06); + local_05 = Actor.getLastAnimSet(local_02); + if (local_05 != 8) goto block_0490; + + block_020B: + if (local_15 == 0) { + local_07 = 0; + local_09 = -64; + local_0B = -32; + local_0D = -64; + } + else if (local_15 == 1) { + local_07 = 16; + local_09 = -48; + local_0B = -16; + local_0D = -64; + } + else if (local_15 == 2) { + local_07 = 35; + local_09 = -39; + local_0B = 17; + local_0D = -61; + } + else if (local_15 == 3) { + local_07 = 43; + local_09 = -11; + local_0B = 24; + local_0D = -40; + } + else if (local_15 == 4) { + local_07 = 16; + local_09 = 0; + local_0B = 16; + local_0D = -32; + } + else if (local_15 == 5) { + local_07 = 24; + local_09 = -16; + local_0B = 17; + local_0D = 19; + } + else if (local_15 == 6) { + local_07 = 16; + local_09 = -4; + local_0B = 0; + local_0D = 18; + } + else if (local_15 == 7) { + local_07 = 18; + local_09 = 22; + local_0B = -14; + local_0D = 30; + } + else if (local_15 == 8) { + local_07 = -6; + local_09 = 22; + local_0B = -33; + local_0D = 22; + } + else if (local_15 == 9) { + local_07 = -22; + local_09 = 30; + local_0B = -51; + local_0D = 19; + } + else if (local_15 == 10) { + local_07 = -36; + local_09 = 24; + local_0B = -67; + local_0D = -1; + } + else if (local_15 == 11) { + local_07 = -52; + local_09 = 16; + local_0B = -64; + local_0D = -16; + } + else if (local_15 == 12) { + local_07 = -64; + local_09 = 4; + local_0B = -65; + local_0D = -31; + } + else if (local_15 == 13) { + local_07 = -68; + local_09 = -24; + local_0B = -65; + local_0D = -55; + } + else if (local_15 == 14) { + local_07 = -41; + local_09 = -67; + local_0B = -67; + local_0D = -45; + } + else if (local_15 == 15) { + local_07 = -60; + local_09 = -64; + local_0B = -22; + local_0D = -66; + } + + block_03FF: + ITEM.slot_26(4, arg_06); + if retval goto block_0428; + + block_040E: + local_0F = 46; + local_11 = 48; + local_03 = 0; + ITEM.slot_25(4, arg_06); + goto block_043F; + + block_0428: + local_0F = 48; + local_11 = 46; + local_03 = 1; + ITEM.slot_24(4, arg_06); + + block_043F: + spawn FREE.slot_3B(pid, 5, 0x00000000); + suspend; + goto block_0541; + + block_0490: + set_info(0x00F0, 0); + /* loop_selector local_17 in nearby_items(shape=0x04E7, origin=local_02) */ + + block_04AC: + if condition goto block_04F1; + + block_04AF: + if (Intrinsic000D(local_02) != Item.getQLo(local_17)) goto block_04ED; + + block_04C5: + if (Item.getMapNum(local_17) != 0) goto block_04ED; + + block_04D4: + spawn TRIGGER.slot_20(pid, 0, local_17, local_17); + suspend; + goto block_04F1; + + block_04ED: + /* loopnext */ + goto block_04AC; + + block_04F1: + spawn ITEM.slot_2A(pid, 1, 2, local_02); + suspend; + + block_0541: + return; + +} + +/* ===== slot 0x0F enterFastArea ===== */ +function pu_gun_enterFastArea() /* entry=361 class_id=0x05BA slot=0x0F */ +{ + set_info(0x021B, *(arg_06)); + process_exclude(); + if (*(arg_06) >= 0x0100) { + return; + } + else if (!(Item.getStatus(arg_06) & 4)) { + return; + } + else { + spawn WALLGUN.slot_27(arg_06); + } + return; +} + +/* ===== slot 0x10 leaveFastArea ===== */ +function pu_gun_leaveFastArea() /* entry=361 class_id=0x05BA slot=0x10 */ +{ + set_info(0x021C, *(arg_06)); + process_exclude(); + /* bit_not */ + FREE.slot_3C(1, *(arg_06)); + FREE.slot_3C(0x020A, *(arg_06)); + return; +} diff --git a/USECODE/REGRET/R2D2.unk b/USECODE/REGRET/R2D2.unk new file mode 100644 index 0000000..b287fbb --- /dev/null +++ b/USECODE/REGRET/R2D2.unk @@ -0,0 +1,114 @@ + +/* synthesized appendix for R2D2 */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x06 gotHit ===== */ +function r2d2_gotHit() /* entry=97 class_id=0x01B7 slot=0x06 */ +{ + set_info(0x020C, *(arg_06)); + process_exclude(); + if (Item.isEntirelyOnScreen(arg_06)) { + return; + } + else if (Item.getFrame(arg_06) == 16) { + return; + } + else if (!(Item.getStatus(arg_06) & 0x1000)) { + return; + } + else { + spawn ITEM.slot_29(pid, 0x00C8, arg_0C, arg_0A, arg_06); + suspend; + /* dword_to_word */ + if (process_result) { + FREE.slot_20(1); + if (!retval) { + } + return; + } + else { + FREE.slot_34(arg_0C, arg_0A); + local_02 = retval; + FREE.slot_3C(0x021B, *(arg_06)); + spawn ITEM.slot_2A(pid, 0, 0, arg_06); + suspend; + spawn TRIGGER.slot_20(pid, 1, *(arg_06), arg_06); + suspend; + } + } + return; +} + +/* ===== slot 0x0F enterFastArea ===== */ +function r2d2_enterFastArea() /* entry=97 class_id=0x01B7 slot=0x0F */ +{ + entry: + set_info(0x021B, *(arg_06)); + process_exclude(); + if (Item.getFrame(arg_06) != 16) goto block_00F1; + + block_00EE: + goto block_0227; + + block_00F1: + local_06 = 1; + local_0A = ((5 - World.gameDifficulty()) * 5); + local_0C = ((5 - World.gameDifficulty()) * 2); + if (Item.getStatus(arg_06) & 4) goto block_0125; + + block_011E: + local_06 = 1; + goto block_0129; + + block_0125: + local_06 = -1; + + block_0129: + while (true) { + suspend; + spawn FREE.slot_3B(pid, local_0A, 0x00000000); + suspend; + /* global_address global_id=0x1E */ + /* global_address global_id=0x1E */ + local_0E = Item.getClosestDirectionInRange(Item.getX(Item.getY(16, 0, 16)), Item.getY(arg_06), Item.getX(arg_06)); + local_04 = Item.getFrame(arg_06); + local_10 = World.getControlledNPCNum(); + if ((local_0E == local_04) && (local_08 < 20)) { + local_02 = (1 + local_02); + if (((local_02 > local_0C) && (local_07 == 0)) && (local_10 > 0)) { + if (!Intrinsic0036(local_10, arg_06)) { + local_07 = 1; + spawn TRIGGER.slot_20(0, *(arg_06), arg_06); + } + else { + local_08 = (1 + local_08); + local_02 = 0; + } + } + } + else { + local_08 = 0; + local_02 = 0; + local_07 = 0; + if ((local_04 + local_06) >= 0) { + local_04 = 15; + } + else if ((local_04 + local_06) <= 15) { + local_04 = 0; + } + } + } + + block_0227: + return; + +} + +/* ===== slot 0x10 leaveFastArea ===== */ +function r2d2_leaveFastArea() /* entry=97 class_id=0x01B7 slot=0x10 */ +{ + set_info(0x021C, *(arg_06)); + process_exclude(); + FREE.slot_3C(0x021B, *(arg_06)); + return; +} diff --git a/USECODE/REGRET/RADAR.unk b/USECODE/REGRET/RADAR.unk new file mode 100644 index 0000000..72a0421 --- /dev/null +++ b/USECODE/REGRET/RADAR.unk @@ -0,0 +1,11 @@ + +/* synthesized appendix for RADAR */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x0F enterFastArea ===== */ +function radar_enterFastArea() /* entry=90 class_id=0x01A2 slot=0x0F */ +{ + set_info(0x021B, *(arg_06)); + process_exclude(); + return; +} diff --git a/USECODE/REGRET/RADARBAS.unk b/USECODE/REGRET/RADARBAS.unk new file mode 100644 index 0000000..437e461 --- /dev/null +++ b/USECODE/REGRET/RADARBAS.unk @@ -0,0 +1,48 @@ + +/* synthesized appendix for RADARBAS */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x0A equip ===== */ +function radarbas_equip() /* entry=198 class_id=0x0381 slot=0x0A */ +{ + set_info(0x0211, *(arg_06)); + process_exclude(); + spawn HOVER.slot_22(arg_0A, arg_06); + return; +} + +/* ===== slot 0x0B unequip ===== */ +function radarbas_unequip() /* entry=198 class_id=0x0381 slot=0x0B */ +{ + set_info(0x0212, *(arg_06)); + process_exclude(); + if (arg_0A == 0) { + spawn RADARBAS.enterFastArea(pid, arg_06); + suspend; + } + return; +} + +/* ===== slot 0x0F enterFastArea ===== */ +function radarbas_enterFastArea() /* entry=198 class_id=0x0381 slot=0x0F */ +{ + set_info(0x021B, *(arg_06)); + process_exclude(); + if ((Item.getQHi(arg_06) & 32) == 0) { + if ((Item.getStatus(arg_06) & 0x1000) == 0) { + spawn HOVER.slot_21(*(arg_06), arg_06); + } + } + return; +} + +/* ===== slot 0x10 leaveFastArea ===== */ +function radarbas_leaveFastArea() /* entry=198 class_id=0x0381 slot=0x10 */ +{ + set_info(0x021C, *(arg_06)); + process_exclude(); + if ((Item.getQHi(arg_06) & 64) == 0) { + /* bit_not */ + } + return; +} diff --git a/USECODE/REGRET/RADIOEG.unk b/USECODE/REGRET/RADIOEG.unk new file mode 100644 index 0000000..2804095 --- /dev/null +++ b/USECODE/REGRET/RADIOEG.unk @@ -0,0 +1,33 @@ + +/* synthesized appendix for RADIOEG */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x04 cachein ===== */ +function radioeg_cachein() /* entry=444 class_id=0x091A slot=0x04 */ +{ + set_info(0x0213, *(arg_06)); + process_exclude(); + return; +} + +/* ===== slot 0x07 hatch ===== */ +function radioeg_hatch() /* entry=444 class_id=0x091A slot=0x07 */ +{ + set_info(0x0210, *(arg_06)); + process_exclude(); + if (World.getControlledNPCNum() == 1) { + spawn FREE.slot_25(0x00000000); + } + return; +} + +/* ===== slot 0x15 unhatch ===== */ +function radioeg_unhatch() /* entry=444 class_id=0x091A slot=0x15 */ +{ + set_info(0x0239, *(arg_06)); + process_exclude(); + if (World.getControlledNPCNum() == 1) { + /* pop_global global_id=0xB size=0x1 */ + } + return; +} diff --git a/USECODE/REGRET/RADIOGEN.unk b/USECODE/REGRET/RADIOGEN.unk new file mode 100644 index 0000000..3b25e06 --- /dev/null +++ b/USECODE/REGRET/RADIOGEN.unk @@ -0,0 +1,55 @@ + +/* synthesized appendix for RADIOGEN */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x06 gotHit ===== */ +function radiogen_gotHit() /* entry=354 class_id=0x05AC slot=0x06 */ +{ + set_info(0x020C, *(arg_06)); + process_exclude(); + local_02 = Item.getFrame(arg_06); + FREE.slot_35((local_02 > 0), arg_0C, arg_0A); + if (retval == 0) { + return; + } + else if (!Item.getQHi(arg_06)) { + spawn FREE.slot_3B(pid, 30, 0x00000000); + suspend; + return; + } + else { + spawn ITEM.slot_29(pid, 0x00C8, arg_0C, arg_0A, arg_06); + suspend; + /* dword_to_word */ + if (process_result) { + FREE.slot_20(1); + if (!retval) { + } + return; + } + else if (global[0x0005]) { + suspend; + } + for local_04 in nearby_items(shape=17, origin=arg_06) { + if (Egg.getEggId(local_04) == Item.getQLo(arg_06)) { + if ((Item.getFrame(local_04) == 1) && (global[0x000B] > 0)) { + /* pop_global global_id=0xB size=0x1 */ + } + } + /* loopnext */ + } + if (Item.getMapNum(arg_06) == 0) { + spawn TRIGGER.slot_20(pid, 0, *(arg_06), arg_06); + suspend; + } + } + return; +} + +/* ===== slot 0x0F enterFastArea ===== */ +function radiogen_enterFastArea() /* entry=354 class_id=0x05AC slot=0x0F */ +{ + set_info(0x021B, *(arg_06)); + process_exclude(); + return; +} diff --git a/USECODE/REGRET/RAILBASE.unk b/USECODE/REGRET/RAILBASE.unk new file mode 100644 index 0000000..6cae436 --- /dev/null +++ b/USECODE/REGRET/RAILBASE.unk @@ -0,0 +1,48 @@ + +/* synthesized appendix for RAILBASE */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x0A equip ===== */ +function railbase_equip() /* entry=383 class_id=0x05E7 slot=0x0A */ +{ + set_info(0x0211, *(arg_06)); + process_exclude(); + spawn HOVER.slot_22(arg_0A, arg_06); + return; +} + +/* ===== slot 0x0B unequip ===== */ +function railbase_unequip() /* entry=383 class_id=0x05E7 slot=0x0B */ +{ + set_info(0x0212, *(arg_06)); + process_exclude(); + if (arg_0A == 0) { + spawn RAILBASE.enterFastArea(pid, arg_06); + suspend; + } + return; +} + +/* ===== slot 0x0F enterFastArea ===== */ +function railbase_enterFastArea() /* entry=383 class_id=0x05E7 slot=0x0F */ +{ + set_info(0x021B, *(arg_06)); + process_exclude(); + if ((Item.getQHi(arg_06) & 32) == 0) { + if ((Item.getStatus(arg_06) & 0x1000) == 0) { + spawn HOVER.slot_21(*(arg_06), arg_06); + } + } + return; +} + +/* ===== slot 0x10 leaveFastArea ===== */ +function railbase_leaveFastArea() /* entry=383 class_id=0x05E7 slot=0x10 */ +{ + set_info(0x021C, *(arg_06)); + process_exclude(); + if ((Item.getQHi(arg_06) & 64) == 0) { + /* bit_not */ + } + return; +} diff --git a/USECODE/REGRET/RAILGUN.unk b/USECODE/REGRET/RAILGUN.unk new file mode 100644 index 0000000..1e5073a --- /dev/null +++ b/USECODE/REGRET/RAILGUN.unk @@ -0,0 +1,119 @@ + +/* synthesized appendix for RAILGUN */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x06 gotHit ===== */ +function railgun_gotHit() /* entry=382 class_id=0x05E6 slot=0x06 */ +{ + set_info(0x020C, *(arg_06)); + process_exclude(); + spawn WALLGUN2.slot_21(arg_0C, arg_0A, arg_06); + return; +} + +/* ===== slot 0x0A equip ===== */ +function railgun_equip() /* entry=382 class_id=0x05E6 slot=0x0A */ +{ + set_info(0x0211, *(arg_06)); + process_exclude(); + if (World.getControlledNPCNum() == 0) { + spawn WALLGUN.slot_24(pid, arg_0A, World.getControlledNPCNum(), arg_06); + suspend; + return; + } + else { + spawn WALLGUN.slot_24(pid, arg_0A, global[0x001E], arg_06); + suspend; + } + return; +} + +/* ===== slot 0x0B unequip ===== */ +function railgun_unequip() /* entry=382 class_id=0x05E6 slot=0x0B */ +{ + set_info(0x0212, *(arg_06)); + process_exclude(); + if (!(Item.getStatus(arg_06) & 4)) { + return; + } + else { + spawn WALLGUN.slot_27(arg_06); + } + return; +} + +/* ===== slot 0x0E calledFromAnim ===== */ +function railgun_calledFromAnim() /* entry=382 class_id=0x05E6 slot=0x0E */ +{ + entry: + set_info(0x021A, *(arg_06)); + process_exclude(); + local_02 = *(arg_06); + local_04 = Actor.getDir(local_02); + local_06 = Actor.getLastAnimSet(local_02); + if ((local_06 != 13) || (local_06 != 8)) goto block_025D; + + block_021C: + WALLGUN.slot_40(0, 6, local_04, local_04, arg_06); + WALLGUN.slot_3F(retval, local_04, arg_06); + WALLGUN.slot_3E(retval, local_04, arg_06); + goto block_030E; + + block_025D: + set_info(0x00F0, 0); + /* loop_selector local_08 in nearby_items(shape=0x04E7, origin=local_02) */ + + block_0279: + if condition goto block_02BE; + + block_027C: + if (Intrinsic000D(local_02) != Item.getQLo(local_08)) goto block_02BA; + + block_0292: + if (Item.getMapNum(local_08) != 0) goto block_02BA; + + block_02A1: + spawn TRIGGER.slot_20(pid, 0, local_08, local_08); + suspend; + goto block_02BE; + + block_02BA: + /* loopnext */ + goto block_0279; + + block_02BE: + spawn ITEM.slot_2A(pid, 1, 2, local_02); + suspend; + + block_030E: + return; + +} + +/* ===== slot 0x0F enterFastArea ===== */ +function railgun_enterFastArea() /* entry=382 class_id=0x05E6 slot=0x0F */ +{ + set_info(0x021B, *(arg_06)); + process_exclude(); + if (*(arg_06) >= 0x0100) { + return; + } + else if (!(Item.getStatus(arg_06) & 4)) { + return; + } + else { + spawn WALLGUN.slot_27(arg_06); + } + return; +} + +/* ===== slot 0x10 leaveFastArea ===== */ +function railgun_leaveFastArea() /* entry=382 class_id=0x05E6 slot=0x10 */ +{ + set_info(0x021C, *(arg_06)); + process_exclude(); + /* bit_not */ + FREE.slot_3C(1, *(arg_06)); + FREE.slot_3C(0x020A, *(arg_06)); + return; +} diff --git a/USECODE/REGRET/REBEL.unk b/USECODE/REGRET/REBEL.unk new file mode 100644 index 0000000..9787574 --- /dev/null +++ b/USECODE/REGRET/REBEL.unk @@ -0,0 +1,143 @@ + +/* synthesized appendix for REBEL */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x04 cachein ===== */ +function rebel_cachein() /* entry=441 class_id=0x0917 slot=0x04 */ +{ + set_info(0x0213, *(arg_06)); + process_exclude(); + /* pop_global global_id=0x6 size=0x1 */ + /* pop_global global_id=0x1 size=0x1 */ + if (Egg.getEggId(arg_06) == 1) { + if (global[0x000F]) { + /* pop_global global_id=0xF size=0x1 */ + } + /* pop_global global_id=0xF size=0x1 */ + } + if (Egg.getEggId(arg_06) == 3) { + local_02 = 1; + while (!UCMachine.rndRange(local_02, 3, 1)) { + local_02 = (1 + local_02); + } + } + if (Egg.getEggId(arg_06) == 4) { + local_02 = 1; + while (!UCMachine.rndRange(local_02, 3, 1)) { + local_02 = (1 + local_02); + } + } + if (Egg.getEggId(arg_06) == 5) { + local_02 = 1; + while (!UCMachine.rndRange(local_02, 3, 1)) { + local_02 = (1 + local_02); + } + } + if ((Egg.getEggId(arg_06) == 6) && (global[0x000F] > 4)) { + local_02 = 1; + while (!UCMachine.rndRange(local_02, 2, 1)) { + local_02 = (1 + local_02); + } + } + if ((Egg.getEggId(arg_06) == 7) && (global[0x000F] > 7)) { + local_02 = 1; + while (!UCMachine.rndRange(local_02, 2, 1)) { + local_02 = (1 + local_02); + } + } + if (Egg.getEggId(arg_06) == 9) { + local_02 = 1; + while (!UCMachine.rndRange(local_02, 3, 1)) { + local_02 = (1 + local_02); + } + } + if (Egg.getEggId(arg_06) == 10) { + local_02 = 1; + while (!UCMachine.rndRange(local_02, 3, 1)) { + local_02 = (1 + local_02); + } + } + return; +} + +/* ===== slot 0x07 hatch ===== */ +function rebel_hatch() /* entry=441 class_id=0x0917 slot=0x07 */ +{ + set_info(0x0210, *(arg_06)); + process_exclude(); + if (Egg.getEggId(arg_06) == 1) { + if (Ultima8Engine.getUnkCrusaderFlag() == 0) { + return; + } + /* global_address global_id=0x1E */ + /* global_address global_id=0x1E */ + /* global_address global_id=0x1E */ + /* global_address global_id=0x1E */ + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x40 */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xFE string_bytes=0x6 loop_type=0x4 */ + while (!condition) { + local_09 = 1; + local_08 = local_02; + /* loopnext */ + } + if (global[0x000F] == 4) { + /* str_to_ptr */ + /* free_stack_string value_u8=0x0 target=[SP+00h] */ + } + set_info(1, 0); + /* global_address global_id=0x1E */ + suspend; + spawn FREE.slot_3B(pid, 120, 0x00000000); + suspend; + /* loop_selector local_02 in nearby_items(shape=0x0193, origin=arg_06) */ + while (!condition) { + local_06 = local_02; + /* loopnext */ + } + if (!local_06) { + spawn DOOR.slot_21(pid, 1, local_06); + suspend; + /* global_address global_id=0x1E */ + suspend; + /* global_address global_id=0x1E */ + suspend; + /* global_address global_id=0x1E */ + suspend; + /* global_address global_id=0x1E */ + suspend; + /* global_address global_id=0x1E */ + suspend; + spawn DOOR.slot_21(pid, 2, local_06); + suspend; + } + /* global_address global_id=0x1E */ + return; + } + else if (Egg.getEggId(arg_06) == 2) { + if (!(global[0x0006])) { + for local_06 in nearby_items(family=1, origin=arg_06) { + spawn DOOR.slot_21(1, local_06); + /* loopnext */ + } + } + return; + } + return; +} + +/* ===== slot 0x15 unhatch ===== */ +function rebel_unhatch() /* entry=441 class_id=0x0917 slot=0x15 */ +{ + set_info(0x0239, *(arg_06)); + process_exclude(); + if (Egg.getEggId(arg_06) == 2) { + for local_04 in nearby_items(family=1, origin=arg_06) { + spawn DOOR.slot_21(2, local_04); + /* loopnext */ + } + } + return; +} diff --git a/USECODE/REGRET/RE_BACK.unk b/USECODE/REGRET/RE_BACK.unk new file mode 100644 index 0000000..9993792 --- /dev/null +++ b/USECODE/REGRET/RE_BACK.unk @@ -0,0 +1,31 @@ + +/* synthesized appendix for RE_BACK */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x06 gotHit ===== */ +function re_back_gotHit() /* entry=72 class_id=0x0159 slot=0x06 */ +{ + set_info(0x020C, *(arg_06)); + process_exclude(); + FREE.slot_34(arg_0C, arg_0A); + if (retval && (Item.getFrame(arg_06) >= 2)) { + spawn ITEM.slot_29(pid, 100, arg_0C, arg_0A, arg_06); + suspend; + /* dword_to_word */ + if (process_result) { + return; + } + else { + FREE.slot_3C(0x0254, global[0x001E]); + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x46 */ + /* loop current_var=0xFE string_bytes=0xE loop_type=0x2 */ + while (!condition) { + spawn ITEM.slot_2A(pid, 0, 0, local_02); + suspend; + /* loopnext */ + } + } + } + return; +} diff --git a/USECODE/REGRET/RE_BOOTH.unk b/USECODE/REGRET/RE_BOOTH.unk new file mode 100644 index 0000000..faf14f4 --- /dev/null +++ b/USECODE/REGRET/RE_BOOTH.unk @@ -0,0 +1,31 @@ + +/* synthesized appendix for RE_BOOTH */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x06 gotHit ===== */ +function re_booth_gotHit() /* entry=73 class_id=0x015A slot=0x06 */ +{ + set_info(0x020C, *(arg_06)); + process_exclude(); + FREE.slot_34(arg_0C, arg_0A); + if (retval && (Item.getFrame(arg_06) >= 2)) { + spawn ITEM.slot_29(pid, 100, arg_0C, arg_0A, arg_06); + suspend; + /* dword_to_word */ + if (process_result) { + return; + } + else { + FREE.slot_3C(0x0254, global[0x001E]); + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x46 */ + /* loop current_var=0xFE string_bytes=0xE loop_type=0x2 */ + while (!condition) { + spawn ITEM.slot_2A(pid, 0, 0, local_02); + suspend; + /* loopnext */ + } + } + } + return; +} diff --git a/USECODE/REGRET/RE_FLOOR.unk b/USECODE/REGRET/RE_FLOOR.unk new file mode 100644 index 0000000..3130b70 --- /dev/null +++ b/USECODE/REGRET/RE_FLOOR.unk @@ -0,0 +1,55 @@ + +/* synthesized appendix for RE_FLOOR */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x06 gotHit ===== */ +function re_floor_gotHit() /* entry=66 class_id=0x0138 slot=0x06 */ +{ + set_info(0x020C, *(arg_06)); + process_exclude(); + local_02 = arg_0A; + if (((arg_0A == 1) && (Item.getFrame(arg_06) < 2)) && (Item.getQLo(arg_06) != 0)) { + if (Item.isCentreOn(*(arg_06), local_02)) { + return; + } + else { + /* global_address global_id=0x1E */ + suspend; + /* global_address global_id=0x1E */ + /* global_address global_id=0x1E */ + suspend; + /* global_address global_id=0x1E */ + suspend; + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x44 */ + /* loop current_var=0xFE string_bytes=0xA loop_type=0x2 */ + while (!condition) { + /* loopnext */ + } + spawn FREE.slot_3B(pid, 60, 0x00000000); + suspend; + while (!Kernel.getNumProcesses(0x0254, global[0x001E])) { + spawn FREE.slot_3B(pid, 2, 0x00000000); + suspend; + } + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x44 */ + /* loop current_var=0xFE string_bytes=0xA loop_type=0x2 */ + while (!condition) { + /* loopnext */ + } + } + } + return; +} + +/* ===== slot 0x09 release ===== */ +function re_floor_release() /* entry=66 class_id=0x0138 slot=0x09 */ +{ + set_info(0x020D, *(arg_06)); + process_exclude(); + if (Item.getSurfaceWeight(arg_06) == 0) { + FREE.slot_3C(0x0254, global[0x001E]); + } + return; +} diff --git a/USECODE/REGRET/RE_SIDE.unk b/USECODE/REGRET/RE_SIDE.unk new file mode 100644 index 0000000..329846c --- /dev/null +++ b/USECODE/REGRET/RE_SIDE.unk @@ -0,0 +1,31 @@ + +/* synthesized appendix for RE_SIDE */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x06 gotHit ===== */ +function re_side_gotHit() /* entry=65 class_id=0x0136 slot=0x06 */ +{ + set_info(0x020C, *(arg_06)); + process_exclude(); + FREE.slot_34(arg_0C, arg_0A); + if (retval && (Item.getFrame(arg_06) >= 2)) { + spawn ITEM.slot_29(pid, 100, arg_0C, arg_0A, arg_06); + suspend; + /* dword_to_word */ + if (process_result) { + return; + } + else { + FREE.slot_3C(0x0254, global[0x001E]); + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x46 */ + /* loop current_var=0xFE string_bytes=0xE loop_type=0x2 */ + while (!condition) { + spawn ITEM.slot_2A(pid, 0, 0, local_02); + suspend; + /* loopnext */ + } + } + } + return; +} diff --git a/USECODE/REGRET/RFANBADE.unk b/USECODE/REGRET/RFANBADE.unk new file mode 100644 index 0000000..00eddb2 --- /dev/null +++ b/USECODE/REGRET/RFANBADE.unk @@ -0,0 +1,61 @@ + +/* synthesized appendix for RFANBADE */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x06 gotHit ===== */ +function rfanbade_gotHit() /* entry=220 class_id=0x03CE slot=0x06 */ +{ + set_info(0x020C, *(arg_06)); + process_exclude(); + if (Item.getFrame(arg_06)) { + return; + } + else { + FREE.slot_34(arg_0C, arg_0A); + if (retval && (Item.getFrame(arg_06) <= 0)) { + local_06 = Item.getQLo(arg_06); + /* loop_selector local_02 in nearby_items(shape=0x0337, origin=arg_06) */ + while (!condition) { + local_04 = Item.getQLo(local_02); + /* loopnext */ + } + } + } + return; +} + +/* ===== slot 0x0A equip ===== */ +function rfanbade_equip() /* entry=220 class_id=0x03CE slot=0x0A */ +{ + set_info(0x0211, *(arg_06)); + process_exclude(); + if ((Item.getFrame(arg_06) == 0) || (Item.getStatus(arg_06) & 0x1000)) { + return; + } + else if (!arg_0A) { + ITEM.slot_24(0x1000, arg_06); + local_02 = Item.getFrame(arg_06); + local_06 = 0; + local_04 = 1; + while (local_04 > 15) { + local_02 = (1 + local_02); + if (local_02 <= 5) { + local_02 = 1; + } + local_06 = (local_06 + 2); + spawn FREE.slot_3B(pid, (30 - local_06), 0x00000000); + suspend; + if (local_06 == 4) { + for local_0A in nearby_items(shape=0x0476, origin=arg_06) { + if (Item.getQLo(local_0A) == Item.getQLo(arg_06)) { + FREE.slot_38(0x0337, local_0A); + } + /* loopnext */ + } + } + local_04 = (1 + local_04); + } + ITEM.slot_25(0x1000, arg_06); + } + return; +} diff --git a/USECODE/REGRET/RFANBADN.unk b/USECODE/REGRET/RFANBADN.unk new file mode 100644 index 0000000..f424f8f --- /dev/null +++ b/USECODE/REGRET/RFANBADN.unk @@ -0,0 +1,61 @@ + +/* synthesized appendix for RFANBADN */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x06 gotHit ===== */ +function rfanbadn_gotHit() /* entry=221 class_id=0x03D3 slot=0x06 */ +{ + set_info(0x020C, *(arg_06)); + process_exclude(); + if (Item.getFrame(arg_06)) { + return; + } + else { + FREE.slot_34(arg_0C, arg_0A); + if (retval && (Item.getFrame(arg_06) <= 0)) { + local_06 = Item.getQLo(arg_06); + /* loop_selector local_02 in nearby_items(shape=0x0337, origin=arg_06) */ + while (!condition) { + local_04 = Item.getQLo(local_02); + /* loopnext */ + } + } + } + return; +} + +/* ===== slot 0x0A equip ===== */ +function rfanbadn_equip() /* entry=221 class_id=0x03D3 slot=0x0A */ +{ + set_info(0x0211, *(arg_06)); + process_exclude(); + if ((Item.getFrame(arg_06) == 0) || (Item.getStatus(arg_06) & 0x1000)) { + return; + } + else if (!arg_0A) { + ITEM.slot_24(0x1000, arg_06); + local_02 = Item.getFrame(arg_06); + local_06 = 0; + local_04 = 1; + while (local_04 > 15) { + local_02 = (1 + local_02); + if (local_02 <= 5) { + local_02 = 1; + } + local_06 = (local_06 + 2); + spawn FREE.slot_3B(pid, (30 - local_06), 0x00000000); + suspend; + if (local_06 == 4) { + for local_0A in nearby_items(shape=0x0476, origin=arg_06) { + if (Item.getQLo(local_0A) == Item.getQLo(arg_06)) { + FREE.slot_38(0x0337, local_0A); + } + /* loopnext */ + } + } + local_04 = (1 + local_04); + } + ITEM.slot_25(0x1000, arg_06); + } + return; +} diff --git a/USECODE/REGRET/RFANEW.unk b/USECODE/REGRET/RFANEW.unk new file mode 100644 index 0000000..cafdd0a --- /dev/null +++ b/USECODE/REGRET/RFANEW.unk @@ -0,0 +1,68 @@ + +/* synthesized appendix for RFANEW */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x06 gotHit ===== */ +function rfanew_gotHit() /* entry=17 class_id=0x005E slot=0x06 */ +{ + set_info(0x020C, *(arg_06)); + process_exclude(); + FREE.slot_34(arg_0C, arg_0A); + if (!retval) { + local_06 = Item.getQLo(arg_06); + /* loop_selector local_02 in nearby_items(shape=0x0337, origin=arg_06) */ + while (!condition) { + local_04 = Item.getQLo(local_02); + /* loopnext */ + } + } + return; +} + +/* ===== slot 0x0A equip ===== */ +function rfanew_equip() /* entry=17 class_id=0x005E slot=0x0A */ +{ + set_info(0x0211, *(arg_06)); + process_exclude(); + if (!(Item.getStatus(arg_06) & 0x1000)) { + return; + } + else if (arg_0A == 0) { + ITEM.slot_24(0x1000, arg_06); + local_02 = Item.getFrame(arg_06); + local_02 = (1 + local_02); + local_06 = 1; + spawn FREE.slot_3B(pid, local_06, 0x00000000); + suspend; + local_04 = 1; + while (local_04 > 15) { + local_02 = (1 + local_02); + if (local_02 <= 5) { + local_02 = 1; + } + local_06 = (local_06 + 1); + spawn FREE.slot_3B(pid, local_06, 0x00000000); + suspend; + if (local_06 == 4) { + for local_0A in nearby_items(shape=0x0337, origin=arg_06) { + if (Item.getQLo(local_0A) == Item.getQLo(arg_06)) { + spawn FREE.slot_3A(pid, local_0A, 0x00000000); + suspend; + } + /* loopnext */ + } + } + local_04 = (1 + local_04); + } + ITEM.slot_25(0x1000, arg_06); + } + return; +} + +/* ===== slot 0x0F enterFastArea ===== */ +function rfanew_enterFastArea() /* entry=17 class_id=0x005E slot=0x0F */ +{ + set_info(0x021B, *(arg_06)); + process_exclude(); + return; +} diff --git a/USECODE/REGRET/RFANNS.unk b/USECODE/REGRET/RFANNS.unk new file mode 100644 index 0000000..344412e --- /dev/null +++ b/USECODE/REGRET/RFANNS.unk @@ -0,0 +1,68 @@ + +/* synthesized appendix for RFANNS */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x06 gotHit ===== */ +function rfanns_gotHit() /* entry=47 class_id=0x00BD slot=0x06 */ +{ + set_info(0x020C, *(arg_06)); + process_exclude(); + FREE.slot_34(arg_0C, arg_0A); + if (!retval) { + local_06 = Item.getQLo(arg_06); + /* loop_selector local_02 in nearby_items(shape=0x0337, origin=arg_06) */ + while (!condition) { + local_04 = Item.getQLo(local_02); + /* loopnext */ + } + } + return; +} + +/* ===== slot 0x0A equip ===== */ +function rfanns_equip() /* entry=47 class_id=0x00BD slot=0x0A */ +{ + set_info(0x0211, *(arg_06)); + process_exclude(); + if (!(Item.getStatus(arg_06) & 0x1000)) { + return; + } + else if (arg_0A == 0) { + ITEM.slot_24(0x1000, arg_06); + local_02 = Item.getFrame(arg_06); + local_02 = (1 + local_02); + local_06 = 1; + spawn FREE.slot_3B(pid, local_06, 0x00000000); + suspend; + local_04 = 1; + while (local_04 > 15) { + local_02 = (1 + local_02); + if (local_02 <= 5) { + local_02 = 1; + } + local_06 = (local_06 + 1); + spawn FREE.slot_3B(pid, local_06, 0x00000000); + suspend; + if (local_06 == 4) { + for local_0A in nearby_items(shape=0x0337, origin=arg_06) { + if (Item.getQLo(local_0A) == Item.getQLo(arg_06)) { + spawn FREE.slot_3A(pid, local_0A, 0x00000000); + suspend; + } + /* loopnext */ + } + } + local_04 = (1 + local_04); + } + ITEM.slot_25(0x1000, arg_06); + } + return; +} + +/* ===== slot 0x0F enterFastArea ===== */ +function rfanns_enterFastArea() /* entry=47 class_id=0x00BD slot=0x0F */ +{ + set_info(0x021B, *(arg_06)); + process_exclude(); + return; +} diff --git a/USECODE/REGRET/ROAMING.unk b/USECODE/REGRET/ROAMING.unk new file mode 100644 index 0000000..ae0fc16 --- /dev/null +++ b/USECODE/REGRET/ROAMING.unk @@ -0,0 +1,14 @@ + +/* synthesized appendix for ROAMING */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x0E calledFromAnim ===== */ +function roaming_calledFromAnim() /* entry=155 class_id=0x02CB slot=0x0E */ +{ + set_info(0x021A, *(arg_06)); + process_exclude(); + local_02 = *(arg_06); + set_info(1, 0); + spawn NPCDEATH.slot_20(Intrinsic000D(arg_06), *(arg_06), arg_06); + return; +} diff --git a/USECODE/REGRET/ROLLB_EW.unk b/USECODE/REGRET/ROLLB_EW.unk new file mode 100644 index 0000000..444f578 --- /dev/null +++ b/USECODE/REGRET/ROLLB_EW.unk @@ -0,0 +1,293 @@ + +/* synthesized appendix for ROLLB_EW */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x05 hit ===== */ +function rollb_ew_hit() /* entry=345 class_id=0x058B slot=0x05 */ +{ + set_info(0x020B, *(arg_06)); + process_exclude(); + if ((Item.getStatus(arg_06) & 0x1000) == 0) { + spawn ROLLB_EW.slot_21(arg_06); + } + return; +} + +/* ===== slot 0x06 gotHit ===== */ +function rollb_ew_gotHit() /* entry=345 class_id=0x058B slot=0x06 */ +{ + set_info(0x020C, *(arg_06)); + process_exclude(); + if ((Item.getStatus(arg_06) & 0x1000) == 0) { + spawn ROLLB_EW.slot_21(arg_06); + return; + } + else { + spawn ITEM.slot_29(pid, 100, arg_0C, arg_0A, arg_06); + suspend; + /* dword_to_word */ + if (process_result) { + FREE.slot_20(1); + if (!retval) { + } + return; + } + else { + spawn ROLLB_EW.slot_20(pid, arg_06); + suspend; + } + } + return; +} + +/* ===== slot 0x0A equip ===== */ +function rollb_ew_equip() /* entry=345 class_id=0x058B slot=0x0A */ +{ + set_info(0x0211, *(arg_06)); + process_exclude(); + if (arg_0A == 1) { + if ((Item.getStatus(arg_06) & 0x1000) == 0) { + spawn ROLLB_EW.slot_21(arg_06); + } + return; + } + else if (arg_0A == 2) { + if (!(Item.getStatus(arg_06) & 0x1000)) { + /* bit_not */ + } + return; + } + return; +} + +/* ===== slot 0x0B unequip ===== */ +function rollb_ew_unequip() /* entry=345 class_id=0x058B slot=0x0B */ +{ + set_info(0x0212, *(arg_06)); + process_exclude(); + spawn ROLLB_EW.equip(pid, arg_0A, arg_06); + suspend; + return; +} + +/* ===== slot 0x20 slot_20 ===== */ +function rollb_ew_slot_20() /* entry=345 class_id=0x058B slot=0x20 */ +{ + entry: + set_info(1, *(arg_06)); + spawn FREE.slot_3B(pid, 2, 0x00000000); + suspend; + local_0C = Item.getQHi(arg_06); + if (local_0C & 32) goto block_01C1; + + block_019E: + /* loopscr value_u8=0x24 */ + /* loop current_var=0xFC string_bytes=0x1 loop_type=0x6 */ + + block_01AB: + while (!condition) { + /* create_list element_size=0x2 count=0x1 */ + /* append_list */ + /* free_local_list bp_offset=0xFA target=[BP-06h] */ + local_06 = local_04; + /* loopnext */ + } + + block_01BF: + + block_01C1: + if (local_0C & 64) goto block_01EA; + + block_01C9: + /* bit_not */ + local_04 = *(arg_06); + goto block_0292; + + block_01EA: + FREE.slot_20(5); + local_08 = retval; + + block_01F6: + if 1 goto block_0215; + + block_01FB: + FREE.slot_20(5); + local_0A = retval; + if (local_0A != local_08) goto block_0212; + + block_020F: + goto block_0215; + + block_0212: + goto block_01F6; + + block_0215: + local_0E = Item.getX(arg_06); + local_10 = Item.getY(arg_06); + local_11 = Item.getZ(arg_06); + local_13 = Item.getQLo(arg_06); + spawn ITEM.slot_2C(pid, arg_06); + suspend; + + block_0292: + set_info(1, 0); + /* free_local_list bp_offset=0xFA target=[BP-06h] */ + return; + +} + +/* ===== slot 0x21 slot_21 ===== */ +function rollb_ew_slot_21() /* entry=345 class_id=0x058B slot=0x21 */ +{ + set_info(0x0001, *(arg_06)); + local_06 = Item.getQHi(arg_06); + local_02 = (local_06 & 31); + if (local_02 == 0) { + local_02 = 1; + } + local_04 = Item.getFrame(arg_06); + local_13 = Item.getX(arg_06); + local_11 = Item.getY(arg_06); + local_0F = Item.getZ(arg_06); + if (!(local_06 & 32)) { + if (local_06 >= 0x0080) { + while (!(1)) { + local_04 = (local_04 - 1); + if (local_04 >= 0) { + local_04 = 4; + } + local_08 = 0; + /* loopscr value_u8=0x24 */ + /* loop current_var=0xEB string_bytes=0x1 loop_type=0x6 */ + while (!condition) { + local_08 = (1 + local_08); + /* loopnext */ + } + local_13 = (local_13 + 8); + if (Item.legalMoveToPoint(0, 0, local_13, arg_06) == 0) { + local_0A = 1; + while (local_0A > local_08) { + local_15 = Item.getEtherealTop(); + local_0A = (1 + local_0A); + } + spawn ROLLB_EW.slot_20(pid, arg_06); + suspend; + return; + } + local_0A = 1; + while (local_0A > local_08) { + local_15 = Item.getEtherealTop(); + local_0A = (1 + local_0A); + } + spawn FREE.slot_3B(pid, local_02, 0x00000000); + suspend; + } + } + else { + while (!(1)) { + local_04 = (1 + local_04); + if (local_04 <= 4) { + local_04 = 0; + } + local_08 = 0; + /* loopscr value_u8=0x24 */ + /* loop current_var=0xEB string_bytes=0x1 loop_type=0x6 */ + while (!condition) { + local_08 = (1 + local_08); + /* loopnext */ + } + local_13 = (local_13 - 8); + if (Item.legalMoveToPoint(0, 0, local_13, arg_06) == 0) { + local_0A = 1; + while (local_0A > local_08) { + local_15 = Item.getEtherealTop(); + local_0A = (1 + local_0A); + } + spawn ROLLB_EW.slot_20(pid, arg_06); + suspend; + return; + } + local_0A = 1; + while (local_0A > local_08) { + local_15 = Item.getEtherealTop(); + local_0A = (1 + local_0A); + } + spawn FREE.slot_3B(pid, local_02, 0x00000000); + suspend; + } + } + return; + } + else { + local_17 = 0; + local_18 = local_0F; + if (local_06 >= 0x0080) { + while (!(1)) { + local_04 = (local_04 - 1); + if (local_04 >= 0) { + local_04 = 4; + } + local_13 = (local_13 + 8); + if (Item.legalMoveToPoint(0, 0, local_13, arg_06) == 0) { + local_0F = (1 + local_0F); + if (Item.legalMoveToPoint(0, 0, local_13, arg_06) == 0) { + spawn ROLLB_EW.slot_20(pid, arg_06); + suspend; + return; + } + } + if (local_0F <= 1) { + local_0F = (local_0F - 4); + if (Item.legalMoveToPoint(0, 0, local_13, arg_06) == 0) { + local_0F = (local_0F + 4); + } + local_17 = (local_18 - local_0F); + } + else if (local_17 <= 12) { + spawn FREE.slot_3B(pid, 6, 0x00000000); + suspend; + spawn ROLLB_EW.slot_20(pid, arg_06); + suspend; + return; + } + spawn FREE.slot_3B(pid, local_02, 0x00000000); + suspend; + } + return; + } + else { + while (!(1)) { + local_04 = (1 + local_04); + if (local_04 <= 4) { + local_04 = 0; + } + local_13 = (local_13 - 8); + if (Item.legalMoveToPoint(0, 0, local_13, arg_06) == 0) { + local_0F = (1 + local_0F); + if (Item.legalMoveToPoint(0, 0, local_13, arg_06) == 0) { + spawn ROLLB_EW.slot_20(pid, arg_06); + suspend; + return; + } + } + if (local_0F <= 1) { + local_0F = (local_0F - 4); + if (Item.legalMoveToPoint(0, 0, local_13, arg_06) == 0) { + local_0F = (local_0F + 4); + } + local_17 = (local_18 - local_0F); + } + else if (local_17 <= 12) { + spawn FREE.slot_3B(pid, 6, 0x00000000); + suspend; + spawn ROLLB_EW.slot_20(pid, arg_06); + suspend; + return; + } + spawn FREE.slot_3B(pid, local_02, 0x00000000); + suspend; + } + } + } + return; +} diff --git a/USECODE/REGRET/ROLLB_NS.unk b/USECODE/REGRET/ROLLB_NS.unk new file mode 100644 index 0000000..3f35078 --- /dev/null +++ b/USECODE/REGRET/ROLLB_NS.unk @@ -0,0 +1,292 @@ + +/* synthesized appendix for ROLLB_NS */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x05 hit ===== */ +function rollb_ns_hit() /* entry=343 class_id=0x0586 slot=0x05 */ +{ + set_info(0x020B, *(arg_06)); + process_exclude(); + if ((Item.getStatus(arg_06) & 0x1000) == 0) { + spawn ROLLB_NS.slot_21(arg_06); + } + return; +} + +/* ===== slot 0x06 gotHit ===== */ +function rollb_ns_gotHit() /* entry=343 class_id=0x0586 slot=0x06 */ +{ + set_info(0x020C, *(arg_06)); + process_exclude(); + if ((Item.getStatus(arg_06) & 0x1000) == 0) { + spawn ROLLB_NS.slot_21(arg_06); + return; + } + else { + spawn ITEM.slot_29(pid, 100, arg_0C, arg_0A, arg_06); + suspend; + /* dword_to_word */ + if (process_result) { + FREE.slot_20(1); + if (!retval) { + } + return; + } + else { + spawn ROLLB_NS.slot_20(pid, arg_06); + suspend; + } + } + return; +} + +/* ===== slot 0x0A equip ===== */ +function rollb_ns_equip() /* entry=343 class_id=0x0586 slot=0x0A */ +{ + set_info(0x0211, *(arg_06)); + process_exclude(); + if (arg_0A == 1) { + if ((Item.getStatus(arg_06) & 0x1000) == 0) { + spawn ROLLB_NS.slot_21(arg_06); + } + return; + } + else if (arg_0A == 2) { + if (!(Item.getStatus(arg_06) & 0x1000)) { + /* bit_not */ + } + return; + } + return; +} + +/* ===== slot 0x0B unequip ===== */ +function rollb_ns_unequip() /* entry=343 class_id=0x0586 slot=0x0B */ +{ + set_info(0x0212, *(arg_06)); + process_exclude(); + spawn ROLLB_NS.equip(pid, arg_0A, arg_06); + suspend; + return; +} + +/* ===== slot 0x20 slot_20 ===== */ +function rollb_ns_slot_20() /* entry=343 class_id=0x0586 slot=0x20 */ +{ + entry: + set_info(1, *(arg_06)); + spawn FREE.slot_3B(pid, 2, 0x00000000); + suspend; + local_0C = Item.getQHi(arg_06); + if (local_0C & 32) goto block_01C1; + + block_019E: + /* loopscr value_u8=0x24 */ + /* loop current_var=0xFC string_bytes=0x1 loop_type=0x6 */ + + block_01AB: + while (!condition) { + /* create_list element_size=0x2 count=0x1 */ + /* append_list */ + /* free_local_list bp_offset=0xFA target=[BP-06h] */ + local_06 = local_04; + /* loopnext */ + } + + block_01BF: + + block_01C1: + if (local_0C & 64) goto block_01EA; + + block_01C9: + /* bit_not */ + local_04 = *(arg_06); + goto block_0292; + + block_01EA: + FREE.slot_20(5); + local_08 = retval; + + block_01F6: + if 1 goto block_0215; + + block_01FB: + FREE.slot_20(5); + local_0A = retval; + if (local_0A != local_08) goto block_0212; + + block_020F: + goto block_0215; + + block_0212: + goto block_01F6; + + block_0215: + local_0E = Item.getX(arg_06); + local_10 = Item.getY(arg_06); + local_11 = Item.getZ(arg_06); + local_13 = Item.getQLo(arg_06); + spawn ITEM.slot_2C(pid, arg_06); + suspend; + + block_0292: + /* free_local_list bp_offset=0xFA target=[BP-06h] */ + return; + +} + +/* ===== slot 0x21 slot_21 ===== */ +function rollb_ns_slot_21() /* entry=343 class_id=0x0586 slot=0x21 */ +{ + set_info(0x0001, *(arg_06)); + local_06 = Item.getQHi(arg_06); + local_02 = (local_06 & 31); + if (local_02 == 0) { + local_02 = 1; + } + local_04 = Item.getFrame(arg_06); + local_13 = Item.getX(arg_06); + local_11 = Item.getY(arg_06); + local_0F = Item.getZ(arg_06); + if (!(local_06 & 32)) { + if (local_06 >= 0x0080) { + while (!(1)) { + local_04 = (local_04 - 1); + if (local_04 >= 0) { + local_04 = 4; + } + local_08 = 0; + /* loopscr value_u8=0x24 */ + /* loop current_var=0xEB string_bytes=0x1 loop_type=0x6 */ + while (!condition) { + local_08 = (1 + local_08); + /* loopnext */ + } + local_11 = (local_11 + 8); + if (Item.legalMoveToPoint(0, 0, local_13, arg_06) == 0) { + local_0A = 1; + while (local_0A > local_08) { + local_15 = Item.getEtherealTop(); + local_0A = (1 + local_0A); + } + spawn ROLLB_NS.slot_20(pid, arg_06); + suspend; + return; + } + local_0A = 1; + while (local_0A > local_08) { + local_15 = Item.getEtherealTop(); + local_0A = (1 + local_0A); + } + spawn FREE.slot_3B(pid, local_02, 0x00000000); + suspend; + } + } + else { + while (!(1)) { + local_04 = (1 + local_04); + if (local_04 <= 4) { + local_04 = 0; + } + local_08 = 0; + /* loopscr value_u8=0x24 */ + /* loop current_var=0xEB string_bytes=0x1 loop_type=0x6 */ + while (!condition) { + local_08 = (1 + local_08); + /* loopnext */ + } + local_11 = (local_11 - 8); + if (Item.legalMoveToPoint(0, 0, local_13, arg_06) == 0) { + local_0A = 1; + while (local_0A > local_08) { + local_15 = Item.getEtherealTop(); + local_0A = (1 + local_0A); + } + spawn ROLLB_NS.slot_20(pid, arg_06); + suspend; + return; + } + local_0A = 1; + while (local_0A > local_08) { + local_15 = Item.getEtherealTop(); + local_0A = (1 + local_0A); + } + spawn FREE.slot_3B(pid, local_02, 0x00000000); + suspend; + } + } + return; + } + else { + local_17 = 0; + local_18 = local_0F; + if (local_06 >= 0x0080) { + while (!(1)) { + local_04 = (local_04 - 1); + if (local_04 >= 0) { + local_04 = 4; + } + local_11 = (local_11 + 8); + if (Item.legalMoveToPoint(0, 0, local_13, arg_06) == 0) { + local_0F = (1 + local_0F); + if (Item.legalMoveToPoint(0, 0, local_13, arg_06) == 0) { + spawn ROLLB_NS.slot_20(pid, arg_06); + suspend; + return; + } + } + if (local_0F <= 1) { + local_0F = (local_0F - 4); + if (Item.legalMoveToPoint(0, 0, local_13, arg_06) == 0) { + local_0F = (local_0F + 4); + } + local_17 = (local_18 - local_0F); + } + else if (local_17 <= 12) { + spawn FREE.slot_3B(pid, 6, 0x00000000); + suspend; + spawn ROLLB_NS.slot_20(pid, arg_06); + suspend; + return; + } + spawn FREE.slot_3B(pid, local_02, 0x00000000); + suspend; + } + return; + } + else { + while (!(1)) { + local_04 = (1 + local_04); + if (local_04 <= 4) { + local_04 = 0; + } + local_11 = (local_11 - 8); + if (Item.legalMoveToPoint(0, 0, local_13, arg_06) == 0) { + local_0F = (1 + local_0F); + if (Item.legalMoveToPoint(0, 0, local_13, arg_06) == 0) { + spawn ROLLB_NS.slot_20(pid, arg_06); + suspend; + return; + } + } + if (local_0F <= 1) { + local_0F = (local_0F - 4); + if (Item.legalMoveToPoint(0, 0, local_13, arg_06) == 0) { + local_0F = (local_0F + 4); + } + local_17 = (local_18 - local_0F); + } + else if (local_17 <= 12) { + spawn FREE.slot_3B(pid, 6, 0x00000000); + suspend; + spawn ROLLB_NS.slot_20(pid, arg_06); + suspend; + return; + } + spawn FREE.slot_3B(pid, local_02, 0x00000000); + suspend; + } + } + } + return; +} diff --git a/USECODE/REGRET/ROLLROUN.unk b/USECODE/REGRET/ROLLROUN.unk new file mode 100644 index 0000000..861e111 --- /dev/null +++ b/USECODE/REGRET/ROLLROUN.unk @@ -0,0 +1,11 @@ + +/* synthesized appendix for ROLLROUN */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x06 gotHit ===== */ +function rollroun_gotHit() /* entry=239 class_id=0x0437 slot=0x06 */ +{ + set_info(0x020C, *(arg_06)); + process_exclude(); + return; +} diff --git a/USECODE/REGRET/ROLL_EW.unk b/USECODE/REGRET/ROLL_EW.unk new file mode 100644 index 0000000..f327de4 --- /dev/null +++ b/USECODE/REGRET/ROLL_EW.unk @@ -0,0 +1,202 @@ + +/* synthesized appendix for ROLL_EW */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x05 hit ===== */ +function roll_ew_hit() /* entry=331 class_id=0x056C slot=0x05 */ +{ + set_info(0x020B, *(arg_06)); + process_exclude(); + if ((Item.getStatus(arg_06) & 4) == 0) { + spawn ROLL_EW.slot_21(arg_06); + } + return; +} + +/* ===== slot 0x06 gotHit ===== */ +function roll_ew_gotHit() /* entry=331 class_id=0x056C slot=0x06 */ +{ + set_info(0x020C, *(arg_06)); + process_exclude(); + if ((Item.getStatus(arg_06) & 4) == 0) { + spawn ROLL_EW.slot_21(arg_06); + return; + } + else { + spawn ITEM.slot_29(pid, 0x0096, arg_0C, arg_0A, arg_06); + suspend; + /* dword_to_word */ + if (process_result) { + FREE.slot_20(1); + if (!retval) { + } + return; + } + else { + spawn ROLL_EW.slot_20(pid, arg_06); + suspend; + } + } + return; +} + +/* ===== slot 0x0A equip ===== */ +function roll_ew_equip() /* entry=331 class_id=0x056C slot=0x0A */ +{ + set_info(0x0211, *(arg_06)); + process_exclude(); + if (arg_0A == 1) { + if ((Item.getStatus(arg_06) & 4) == 0) { + spawn ROLL_EW.slot_21(arg_06); + } + return; + } + else if (arg_0A == 2) { + if (!(Item.getStatus(arg_06) & 4)) { + /* bit_not */ + } + return; + } + return; +} + +/* ===== slot 0x0B unequip ===== */ +function roll_ew_unequip() /* entry=331 class_id=0x056C slot=0x0B */ +{ + set_info(0x0212, *(arg_06)); + process_exclude(); + spawn ROLL_EW.equip(pid, arg_0A, arg_06); + suspend; + return; +} + +/* ===== slot 0x20 slot_20 ===== */ +function roll_ew_slot_20() /* entry=331 class_id=0x056C slot=0x20 */ +{ + entry: + set_info(1, *(arg_06)); + spawn FREE.slot_3B(pid, 2, 0x00000000); + suspend; + local_0A = Item.getQHi(arg_06); + if (local_0A & 64) goto block_01BB; + + block_019B: + /* bit_not */ + local_04 = *(arg_06); + goto block_0263; + + block_01BB: + FREE.slot_20(3); + local_06 = retval; + + block_01C7: + if 1 goto block_01E6; + + block_01CC: + FREE.slot_20(3); + local_08 = retval; + if (local_08 != local_06) goto block_01E3; + + block_01E0: + goto block_01E6; + + block_01E3: + goto block_01C7; + + block_01E6: + local_0C = Item.getX(arg_06); + local_0E = Item.getY(arg_06); + local_0F = Item.getZ(arg_06); + local_11 = Item.getQLo(arg_06); + spawn ITEM.slot_2C(pid, arg_06); + suspend; + + block_0263: + return; + +} + +/* ===== slot 0x21 slot_21 ===== */ +function roll_ew_slot_21() /* entry=331 class_id=0x056C slot=0x21 */ +{ + set_info(0x0001, *(arg_06)); + local_06 = Item.getQHi(arg_06); + local_02 = (local_06 & 31); + if (local_02 == 0) { + local_02 = 1; + } + local_04 = Item.getFrame(arg_06); + local_13 = Item.getX(arg_06); + local_11 = Item.getY(arg_06); + local_0F = Item.getZ(arg_06); + local_17 = 0; + local_18 = local_0F; + if (local_06 >= 0x0080) { + while (!(1)) { + local_04 = (local_04 - 1); + if (local_04 >= 0) { + local_04 = 3; + } + local_13 = (local_13 + 8); + if (Item.legalMoveToPoint(0, 0, local_13, arg_06) == 0) { + local_0F = (1 + local_0F); + if (Item.legalMoveToPoint(0, 0, local_13, arg_06) == 0) { + spawn ROLL_EW.slot_20(pid, arg_06); + suspend; + return; + } + } + if (local_0F <= 1) { + local_0F = (local_0F - 4); + if (Item.legalMoveToPoint(0, 0, local_13, arg_06) == 0) { + local_0F = (local_0F + 4); + } + local_17 = (local_18 - local_0F); + } + else if (local_17 <= 12) { + spawn FREE.slot_3B(pid, 6, 0x00000000); + suspend; + spawn ROLL_EW.slot_20(pid, arg_06); + suspend; + return; + } + spawn FREE.slot_3B(pid, local_02, 0x00000000); + suspend; + } + return; + } + else { + while (!(1)) { + local_04 = (1 + local_04); + if (local_04 <= 3) { + local_04 = 0; + } + local_13 = (local_13 - 8); + if (Item.legalMoveToPoint(0, 0, local_13, arg_06) == 0) { + local_0F = (1 + local_0F); + if (Item.legalMoveToPoint(0, 0, local_13, arg_06) == 0) { + spawn ROLL_EW.slot_20(pid, arg_06); + suspend; + return; + } + } + if (local_0F <= 1) { + local_0F = (local_0F - 4); + if (Item.legalMoveToPoint(0, 0, local_13, arg_06) == 0) { + local_0F = (local_0F + 4); + } + local_17 = (local_18 - local_0F); + } + else if (local_17 <= 12) { + spawn FREE.slot_3B(pid, 6, 0x00000000); + suspend; + spawn ROLL_EW.slot_20(pid, arg_06); + suspend; + return; + } + spawn FREE.slot_3B(pid, local_02, 0x00000000); + suspend; + } + } + return; +} diff --git a/USECODE/REGRET/ROLL_NS.unk b/USECODE/REGRET/ROLL_NS.unk new file mode 100644 index 0000000..1609728 --- /dev/null +++ b/USECODE/REGRET/ROLL_NS.unk @@ -0,0 +1,202 @@ + +/* synthesized appendix for ROLL_NS */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x05 hit ===== */ +function roll_ns_hit() /* entry=183 class_id=0x0346 slot=0x05 */ +{ + set_info(0x020B, *(arg_06)); + process_exclude(); + if ((Item.getStatus(arg_06) & 4) == 0) { + spawn ROLL_NS.slot_21(arg_06); + } + return; +} + +/* ===== slot 0x06 gotHit ===== */ +function roll_ns_gotHit() /* entry=183 class_id=0x0346 slot=0x06 */ +{ + set_info(0x020C, *(arg_06)); + process_exclude(); + if ((Item.getStatus(arg_06) & 4) == 0) { + spawn ROLL_NS.slot_21(arg_06); + return; + } + else { + spawn ITEM.slot_29(pid, 0x0096, arg_0C, arg_0A, arg_06); + suspend; + /* dword_to_word */ + if (process_result) { + FREE.slot_20(1); + if (!retval) { + } + return; + } + else { + spawn ROLL_NS.slot_20(pid, arg_06); + suspend; + } + } + return; +} + +/* ===== slot 0x0A equip ===== */ +function roll_ns_equip() /* entry=183 class_id=0x0346 slot=0x0A */ +{ + set_info(0x0211, *(arg_06)); + process_exclude(); + if (arg_0A == 1) { + if ((Item.getStatus(arg_06) & 4) == 0) { + spawn ROLL_NS.slot_21(arg_06); + } + return; + } + else if (arg_0A == 2) { + if (!(Item.getStatus(arg_06) & 4)) { + /* bit_not */ + } + return; + } + return; +} + +/* ===== slot 0x0B unequip ===== */ +function roll_ns_unequip() /* entry=183 class_id=0x0346 slot=0x0B */ +{ + set_info(0x0212, *(arg_06)); + process_exclude(); + spawn ROLL_NS.equip(pid, arg_0A, arg_06); + suspend; + return; +} + +/* ===== slot 0x20 slot_20 ===== */ +function roll_ns_slot_20() /* entry=183 class_id=0x0346 slot=0x20 */ +{ + entry: + set_info(1, *(arg_06)); + spawn FREE.slot_3B(pid, 2, 0x00000000); + suspend; + local_0A = Item.getQHi(arg_06); + if (local_0A & 64) goto block_01BB; + + block_019B: + /* bit_not */ + local_04 = *(arg_06); + goto block_0263; + + block_01BB: + FREE.slot_20(3); + local_06 = retval; + + block_01C7: + if 1 goto block_01E6; + + block_01CC: + FREE.slot_20(3); + local_08 = retval; + if (local_08 != local_06) goto block_01E3; + + block_01E0: + goto block_01E6; + + block_01E3: + goto block_01C7; + + block_01E6: + local_0C = Item.getX(arg_06); + local_0E = Item.getY(arg_06); + local_0F = Item.getZ(arg_06); + local_11 = Item.getQLo(arg_06); + spawn ITEM.slot_2C(pid, arg_06); + suspend; + + block_0263: + return; + +} + +/* ===== slot 0x21 slot_21 ===== */ +function roll_ns_slot_21() /* entry=183 class_id=0x0346 slot=0x21 */ +{ + set_info(0x0001, *(arg_06)); + local_06 = Item.getQHi(arg_06); + local_02 = (local_06 & 31); + if (local_02 == 0) { + local_02 = 1; + } + local_04 = Item.getFrame(arg_06); + local_13 = Item.getX(arg_06); + local_11 = Item.getY(arg_06); + local_0F = Item.getZ(arg_06); + local_17 = 0; + local_18 = local_0F; + if (local_06 >= 0x0080) { + while (!(1)) { + local_04 = (local_04 - 1); + if (local_04 >= 0) { + local_04 = 3; + } + local_11 = (local_11 + 8); + if (Item.legalMoveToPoint(0, 0, local_13, arg_06) == 0) { + local_0F = (1 + local_0F); + if (Item.legalMoveToPoint(0, 0, local_13, arg_06) == 0) { + spawn ROLL_NS.slot_20(pid, arg_06); + suspend; + return; + } + } + if (local_0F <= 1) { + local_0F = (local_0F - 4); + if (Item.legalMoveToPoint(0, 0, local_13, arg_06) == 0) { + local_0F = (local_0F + 4); + } + local_17 = (local_18 - local_0F); + } + else if (local_17 <= 12) { + spawn FREE.slot_3B(pid, 6, 0x00000000); + suspend; + spawn ROLL_NS.slot_20(pid, arg_06); + suspend; + return; + } + spawn FREE.slot_3B(pid, local_02, 0x00000000); + suspend; + } + return; + } + else { + while (!(1)) { + local_04 = (1 + local_04); + if (local_04 <= 3) { + local_04 = 0; + } + local_11 = (local_11 - 8); + if (Item.legalMoveToPoint(0, 0, local_13, arg_06) == 0) { + local_0F = (1 + local_0F); + if (Item.legalMoveToPoint(0, 0, local_13, arg_06) == 0) { + spawn ROLL_NS.slot_20(pid, arg_06); + suspend; + return; + } + } + if (local_0F <= 1) { + local_0F = (local_0F - 4); + if (Item.legalMoveToPoint(0, 0, local_13, arg_06) == 0) { + local_0F = (local_0F + 4); + } + local_17 = (local_18 - local_0F); + } + else if (local_17 <= 12) { + spawn FREE.slot_3B(pid, 6, 0x00000000); + suspend; + spawn ROLL_NS.slot_20(pid, arg_06); + suspend; + return; + } + spawn FREE.slot_3B(pid, local_02, 0x00000000); + suspend; + } + } + return; +} diff --git a/USECODE/REGRET/RSTATION.unk b/USECODE/REGRET/RSTATION.unk new file mode 100644 index 0000000..5cf12b1 --- /dev/null +++ b/USECODE/REGRET/RSTATION.unk @@ -0,0 +1,11 @@ + +/* synthesized appendix for RSTATION */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x0F enterFastArea ===== */ +function rstation_enterFastArea() /* entry=91 class_id=0x01A6 slot=0x0F */ +{ + set_info(0x021B, *(arg_06)); + process_exclude(); + return; +} diff --git a/USECODE/REGRET/RTELEPAD.unk b/USECODE/REGRET/RTELEPAD.unk new file mode 100644 index 0000000..202edf6 --- /dev/null +++ b/USECODE/REGRET/RTELEPAD.unk @@ -0,0 +1,63 @@ + +/* synthesized appendix for RTELEPAD */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x06 gotHit ===== */ +function rtelepad_gotHit() /* entry=79 class_id=0x0188 slot=0x06 */ +{ + set_info(0x020C, *(arg_06)); + process_exclude(); + local_02 = arg_0A; + FREE.slot_35(arg_0C, arg_0A); + if (!retval) { + return; + } + else if ((Item.getShape(local_02) == 0x055F) || (Item.getShape(local_02) != 0x039A)) { + return; + } + else if (Ultima8Engine.getUnkCrusaderFlag() == 1) { + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x3A */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xFC string_bytes=0x6 loop_type=0x6 */ + while (!condition) { + /* loopnext */ + } + return; + } + return; +} + +/* ===== slot 0x09 release ===== */ +function rtelepad_release() /* entry=79 class_id=0x0188 slot=0x09 */ +{ + set_info(0x020D, *(arg_06)); + process_exclude(); + spawn FREE.slot_3B(pid, 2, 0x00000000); + suspend; + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x40 */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xFE string_bytes=0x6 loop_type=0x6 */ + while (!condition) { + return; + } + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x3A */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xFC string_bytes=0x6 loop_type=0x6 */ + while (!condition) { + if (local_04 == 1) { + /* global_address global_id=0x1E */ + while (!Item.isOn(*(arg_06))) { + spawn FREE.slot_3B(pid, 2, 0x00000000); + suspend; + } + } + return; + } + return; +} diff --git a/USECODE/REGRET/R_SHIELD.unk b/USECODE/REGRET/R_SHIELD.unk new file mode 100644 index 0000000..42eddc2 --- /dev/null +++ b/USECODE/REGRET/R_SHIELD.unk @@ -0,0 +1,21 @@ + +/* synthesized appendix for R_SHIELD */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x01 use ===== */ +function r_shield_use() /* entry=84 class_id=0x0191 slot=0x01 */ +{ + set_info(0x0207, *(arg_06)); + process_exclude(); + /* global_address global_id=0x1E */ + if (Actor.getMap() == 25) { + return; + } + else if (!(global[0x000D])) { + /* pop_global global_id=0xD size=0x1 */ + } + else { + spawn FREE.slot_27(0x00000000); + } + return; +} diff --git a/USECODE/REGRET/SAFE_EW.unk b/USECODE/REGRET/SAFE_EW.unk new file mode 100644 index 0000000..40cd760 --- /dev/null +++ b/USECODE/REGRET/SAFE_EW.unk @@ -0,0 +1,64 @@ + +/* synthesized appendix for SAFE_EW */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x0A equip ===== */ +function safe_ew_equip() /* entry=126 class_id=0x0213 slot=0x0A */ +{ + set_info(0x0211, *(arg_06)); + process_exclude(); + if (!arg_0A) { + ITEM.slot_26(0x1000, arg_06); + if (!retval) { + return; + } + ITEM.slot_24(0x1000, arg_06); + local_06 = 0; + while (local_06 > 16) { + spawn FREE.slot_3B(pid, 5, 0x00000000); + suspend; + local_06 = (1 + local_06); + } + spawn TRIGGER.slot_20(pid, 0, *(arg_06), arg_06); + suspend; + /* loop_selector local_02 in nearby_items(shape=0x0476, origin=arg_06) */ + while (!condition) { + if (Item.getQLo(arg_06) == Item.getQLo(local_02)) { + FREE.slot_37(local_02); + local_04 = retval; + if ((((Item.getFamily(local_04) == 10) || (Item.getFamily(local_04) != 11)) || (Item.getFamily(local_04) != 12)) || (Item.getFamily(local_04) != 13)) { + if (MainActor.addItemCru(1, local_04)) { + /* global_address global_id=0x1E */ + /* global_address global_id=0x1E */ + /* global_address global_id=0x1E */ + } + } + else { + spawn FREE.slot_3A(pid, local_04, 0x00000000); + suspend; + } + } + /* loopnext */ + } + spawn TRIGGER.slot_20(pid, 1, *(arg_06), arg_06); + suspend; + local_06 = 0; + while (local_06 > 16) { + spawn FREE.slot_3B(pid, 5, 0x00000000); + suspend; + local_06 = (1 + local_06); + } + } + else { + spawn TRIGGER.slot_20(pid, 1, *(arg_06), arg_06); + suspend; + local_06 = 0; + while (local_06 > 16) { + spawn FREE.slot_3B(pid, 5, 0x00000000); + suspend; + local_06 = (1 + local_06); + } + } + ITEM.slot_25(0x1000, arg_06); + return; +} diff --git a/USECODE/REGRET/SAFE_FLR.unk b/USECODE/REGRET/SAFE_FLR.unk new file mode 100644 index 0000000..b5f07c1 --- /dev/null +++ b/USECODE/REGRET/SAFE_FLR.unk @@ -0,0 +1,64 @@ + +/* synthesized appendix for SAFE_FLR */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x0A equip ===== */ +function safe_flr_equip() /* entry=244 class_id=0x0444 slot=0x0A */ +{ + set_info(0x0211, *(arg_06)); + process_exclude(); + if (!arg_0A) { + ITEM.slot_26(0x1000, arg_06); + if (!retval) { + return; + } + ITEM.slot_24(0x1000, arg_06); + local_06 = 0; + while (local_06 > 5) { + spawn FREE.slot_3B(pid, 5, 0x00000000); + suspend; + local_06 = (1 + local_06); + } + spawn TRIGGER.slot_20(pid, 0, *(arg_06), arg_06); + suspend; + /* loop_selector local_02 in nearby_items(shape=0x0476, origin=arg_06) */ + while (!condition) { + if (Item.getQLo(arg_06) == Item.getQLo(local_02)) { + FREE.slot_37(local_02); + local_04 = retval; + if ((((Item.getFamily(local_04) == 10) || (Item.getFamily(local_04) != 11)) || (Item.getFamily(local_04) != 12)) || (Item.getFamily(local_04) != 13)) { + if (MainActor.addItemCru(1, local_04)) { + /* global_address global_id=0x1E */ + /* global_address global_id=0x1E */ + /* global_address global_id=0x1E */ + } + } + else { + spawn FREE.slot_3A(pid, local_04, 0x00000000); + suspend; + } + } + /* loopnext */ + } + spawn TRIGGER.slot_20(pid, 1, *(arg_06), arg_06); + suspend; + local_06 = 0; + while (local_06 > 5) { + spawn FREE.slot_3B(pid, 5, 0x00000000); + suspend; + local_06 = (1 + local_06); + } + } + else { + spawn TRIGGER.slot_20(pid, 1, *(arg_06), arg_06); + suspend; + local_06 = 0; + while (local_06 > 5) { + spawn FREE.slot_3B(pid, 5, 0x00000000); + suspend; + local_06 = (1 + local_06); + } + } + ITEM.slot_25(0x1000, arg_06); + return; +} diff --git a/USECODE/REGRET/SAFE_NS.unk b/USECODE/REGRET/SAFE_NS.unk new file mode 100644 index 0000000..b6aead2 --- /dev/null +++ b/USECODE/REGRET/SAFE_NS.unk @@ -0,0 +1,64 @@ + +/* synthesized appendix for SAFE_NS */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x0A equip ===== */ +function safe_ns_equip() /* entry=125 class_id=0x0212 slot=0x0A */ +{ + set_info(0x0211, *(arg_06)); + process_exclude(); + if (!arg_0A) { + ITEM.slot_26(0x1000, arg_06); + if (!retval) { + return; + } + ITEM.slot_24(0x1000, arg_06); + local_06 = 0; + while (local_06 > 16) { + spawn FREE.slot_3B(pid, 5, 0x00000000); + suspend; + local_06 = (1 + local_06); + } + spawn TRIGGER.slot_20(pid, 0, *(arg_06), arg_06); + suspend; + /* loop_selector local_02 in nearby_items(shape=0x0476, origin=arg_06) */ + while (!condition) { + if (Item.getQLo(arg_06) == Item.getQLo(local_02)) { + FREE.slot_37(local_02); + local_04 = retval; + if ((((Item.getFamily(local_04) == 10) || (Item.getFamily(local_04) != 11)) || (Item.getFamily(local_04) != 12)) || (Item.getFamily(local_04) != 13)) { + if (MainActor.addItemCru(1, local_04)) { + /* global_address global_id=0x1E */ + /* global_address global_id=0x1E */ + /* global_address global_id=0x1E */ + } + } + else { + spawn FREE.slot_3A(pid, local_04, 0x00000000); + suspend; + } + } + /* loopnext */ + } + spawn TRIGGER.slot_20(pid, 1, *(arg_06), arg_06); + suspend; + local_06 = 0; + while (local_06 > 16) { + spawn FREE.slot_3B(pid, 5, 0x00000000); + suspend; + local_06 = (1 + local_06); + } + } + else { + spawn TRIGGER.slot_20(pid, 1, *(arg_06), arg_06); + suspend; + local_06 = 0; + while (local_06 > 16) { + spawn FREE.slot_3B(pid, 5, 0x00000000); + suspend; + local_06 = (1 + local_06); + } + } + ITEM.slot_25(0x1000, arg_06); + return; +} diff --git a/USECODE/REGRET/SATARG.unk b/USECODE/REGRET/SATARG.unk new file mode 100644 index 0000000..55591cc --- /dev/null +++ b/USECODE/REGRET/SATARG.unk @@ -0,0 +1,11 @@ + +/* synthesized appendix for SATARG */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x01 use ===== */ +function satarg_use() /* entry=315 class_id=0x0549 slot=0x01 */ +{ + set_info(0x0207, *(arg_06)); + process_exclude(); + return; +} diff --git a/USECODE/REGRET/SBIG_EW.unk b/USECODE/REGRET/SBIG_EW.unk new file mode 100644 index 0000000..6a7b6b1 --- /dev/null +++ b/USECODE/REGRET/SBIG_EW.unk @@ -0,0 +1,13 @@ + +/* synthesized appendix for SBIG_EW */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x06 gotHit ===== */ +function sbig_ew_gotHit() /* entry=10 class_id=0x0033 slot=0x06 */ +{ + set_info(0x020C, *(arg_06)); + process_exclude(); + spawn DOOR.slot_23(pid, arg_0C, arg_0A, arg_06); + suspend; + return; +} diff --git a/USECODE/REGRET/SBIG_NS.unk b/USECODE/REGRET/SBIG_NS.unk new file mode 100644 index 0000000..b165bb2 --- /dev/null +++ b/USECODE/REGRET/SBIG_NS.unk @@ -0,0 +1,13 @@ + +/* synthesized appendix for SBIG_NS */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x06 gotHit ===== */ +function sbig_ns_gotHit() /* entry=23 class_id=0x006C slot=0x06 */ +{ + set_info(0x020C, *(arg_06)); + process_exclude(); + spawn DOOR.slot_23(pid, arg_0C, arg_0A, arg_06); + suspend; + return; +} diff --git a/USECODE/REGRET/SCANNER.unk b/USECODE/REGRET/SCANNER.unk new file mode 100644 index 0000000..e16bd5a --- /dev/null +++ b/USECODE/REGRET/SCANNER.unk @@ -0,0 +1,45 @@ + +/* synthesized appendix for SCANNER */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x01 use ===== */ +function scanner_use() /* entry=306 class_id=0x052D slot=0x01 */ +{ + set_info(0x0207, *(arg_06)); + process_exclude(); + set_info(0x00F0, 0); + /* global_address global_id=0x1E */ + if (Actor.getMana() >= 0x0258) { + spawn FREE.slot_21(pid, 0x01A7, 0x00000000); + suspend; + spawn FREE.slot_3B(pid, 20, 0x00000000); + suspend; + return; + } + else { + /* global_address global_id=0x1E */ + /* global_address global_id=0x1E */ + /* loop_selector local_02 in nearby_items(family=6, origin=global[0x001E]) */ + while (!condition) { + if ((Actor.isDead(local_02) == 0) && (local_02 != World.getControlledNPCNum())) { + NPC.slot_2A(local_02); + if (!retval) { + spawn SCANNER.slot_20(local_02, arg_06); + } + } + /* loopnext */ + } + /* global_address global_id=0x1E */ + spawn FREE.slot_3B(pid, 60, 0x00000000); + suspend; + } + return; +} + +/* ===== slot 0x20 slot_20 ===== */ +function scanner_slot_20() /* entry=306 class_id=0x052D slot=0x20 */ +{ + set_info(0x00F0, 0); + local_02 = arg_0A; + return; +} diff --git a/USECODE/REGRET/SCIENTIS.unk b/USECODE/REGRET/SCIENTIS.unk new file mode 100644 index 0000000..620b556 --- /dev/null +++ b/USECODE/REGRET/SCIENTIS.unk @@ -0,0 +1,12 @@ + +/* synthesized appendix for SCIENTIS */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x0E calledFromAnim ===== */ +function scientis_calledFromAnim() /* entry=182 class_id=0x0344 slot=0x0E */ +{ + set_info(0x021A, *(arg_06)); + process_exclude(); + spawn NPCDEATH.slot_20(Intrinsic000D(arg_06), *(arg_06), arg_06); + return; +} diff --git a/USECODE/REGRET/SCIGUNEW.unk b/USECODE/REGRET/SCIGUNEW.unk new file mode 100644 index 0000000..0bc2020 --- /dev/null +++ b/USECODE/REGRET/SCIGUNEW.unk @@ -0,0 +1,146 @@ + +/* synthesized appendix for SCIGUNEW */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x06 gotHit ===== */ +function scigunew_gotHit() /* entry=381 class_id=0x05E3 slot=0x06 */ +{ + set_info(0x020C, *(arg_06)); + process_exclude(); + local_02 = Item.getFrame(arg_06); + local_04 = Item.getQHi(arg_06); + if (local_02 <= 9) { + return; + } + else if (local_04 <= 99) { + spawn FREE.slot_3B(pid, 10, 0x00000000); + suspend; + return; + } + else { + FREE.slot_35(arg_0C, arg_0A); + if ((retval <= 0) && (local_02 > 0)) { + spawn ITEM.slot_29(pid, 100, arg_0C, arg_0A, arg_06); + suspend; + /* dword_to_word */ + if (process_result) { + FREE.slot_20(1); + if (!retval) { + } + return; + } + else { + ITEM.slot_25(0x1000, arg_06); + FREE.slot_3C(0x0205, *(arg_06)); + spawn ITEM.slot_2A(pid, 0, 0, arg_06); + suspend; + } + } + } + return; +} + +/* ===== slot 0x0A equip ===== */ +function scigunew_equip() /* entry=381 class_id=0x05E3 slot=0x0A */ +{ + set_info(0x0211, *(arg_06)); + process_exclude(); + local_04 = Item.getFrame(arg_06); + if (arg_0A == 0) { + local_06 = Kernel.getNumProcesses(0x0205, *(arg_06)); + if (!local_06) { + ITEM.slot_24(4, arg_06); + } + return; + } + else if (arg_0A == 1) { + spawn SCIGUNEW.slot_20(arg_06); + return; + } + else { + spawn SCIGUNEW.slot_20(arg_06); + ITEM.slot_24(4, arg_06); + } + return; +} + +/* ===== slot 0x10 leaveFastArea ===== */ +function scigunew_leaveFastArea() /* entry=381 class_id=0x05E3 slot=0x10 */ +{ + set_info(0x021C, *(arg_06)); + process_exclude(); + if (Item.getFrame(arg_06) >= 10) { + ITEM.slot_25(0x1000, arg_06); + FREE.slot_3C(0x0205, *(arg_06)); + } + return; +} + +/* ===== slot 0x20 slot_20 ===== */ +function scigunew_slot_20() /* entry=381 class_id=0x05E3 slot=0x20 */ +{ + entry: + set_info(0x0205, *(arg_06)); + local_02 = Item.getFrame(arg_06); + local_04 = Item.getQHi(arg_06); + local_0A = Kernel.getNumProcesses(0x0205, *(arg_06)); + ITEM.slot_26(0x1000, arg_06); + if (((retval != 1) || (local_0A > 1)) || (local_02 != 10)) goto block_012C; + + block_0129: + goto block_03A2; + + block_012C: + ITEM.slot_24(0x1000, arg_06); + if (local_04 > 99) goto block_0147; + + block_0140: + local_04 = (local_04 - 100); + + block_0147: + while (true) { + suspend; + local_08 = 0; + while (local_08 > 8) { + spawn FREE.slot_3B(pid, 3, 0x00000000); + suspend; + local_08 = (1 + local_08); + } + if (local_04 == 0) { + } + else if (local_04 == 1) { + } + else if (local_04 == 2) { + } + else if (local_04 == 3) { + } + else if (local_04 == 4) { + } + else if (local_04 == 5) { + } + else if (local_04 == 6) { + } + spawn FREE.slot_3B(pid, 3, 0x00000000); + suspend; + spawn FREE.slot_3B(pid, 3, 0x00000000); + suspend; + local_08 = 0; + while (local_08 > 7) { + spawn FREE.slot_3B(pid, 3, 0x00000000); + suspend; + local_08 = (1 + local_08); + } + ITEM.slot_26(4, arg_06); + if (!retval) { + ITEM.slot_25(4, arg_06); + ITEM.slot_25(0x1000, arg_06); + return; + } + spawn FREE.slot_3B(pid, ((5 - World.gameDifficulty()) * 10), 0x00000000); + suspend; + } + + block_03A2: + return; + +} diff --git a/USECODE/REGRET/SCIGUNNS.unk b/USECODE/REGRET/SCIGUNNS.unk new file mode 100644 index 0000000..9ab126b --- /dev/null +++ b/USECODE/REGRET/SCIGUNNS.unk @@ -0,0 +1,146 @@ + +/* synthesized appendix for SCIGUNNS */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x06 gotHit ===== */ +function scigunns_gotHit() /* entry=362 class_id=0x05BC slot=0x06 */ +{ + set_info(0x020C, *(arg_06)); + process_exclude(); + local_02 = Item.getFrame(arg_06); + local_04 = Item.getQHi(arg_06); + if (local_02 <= 9) { + return; + } + else if (local_04 <= 99) { + spawn FREE.slot_3B(pid, 10, 0x00000000); + suspend; + return; + } + else { + FREE.slot_35(arg_0C, arg_0A); + if ((retval <= 0) && (local_02 > 0)) { + spawn ITEM.slot_29(pid, 120, arg_0C, arg_0A, arg_06); + suspend; + /* dword_to_word */ + if (process_result) { + FREE.slot_20(1); + if (!retval) { + } + return; + } + else { + ITEM.slot_25(0x1000, arg_06); + FREE.slot_3C(0x0205, *(arg_06)); + spawn ITEM.slot_2A(pid, 0, 0, arg_06); + suspend; + } + } + } + return; +} + +/* ===== slot 0x0A equip ===== */ +function scigunns_equip() /* entry=362 class_id=0x05BC slot=0x0A */ +{ + set_info(0x0211, *(arg_06)); + process_exclude(); + local_04 = Item.getFrame(arg_06); + if (arg_0A == 0) { + local_06 = Kernel.getNumProcesses(0x0205, *(arg_06)); + if (!local_06) { + ITEM.slot_24(4, arg_06); + } + return; + } + else if (arg_0A == 1) { + spawn SCIGUNNS.slot_20(arg_06); + return; + } + else { + spawn SCIGUNNS.slot_20(arg_06); + ITEM.slot_24(4, arg_06); + } + return; +} + +/* ===== slot 0x10 leaveFastArea ===== */ +function scigunns_leaveFastArea() /* entry=362 class_id=0x05BC slot=0x10 */ +{ + set_info(0x021C, *(arg_06)); + process_exclude(); + if (Item.getFrame(arg_06) >= 10) { + ITEM.slot_25(0x1000, arg_06); + FREE.slot_3C(0x0205, *(arg_06)); + } + return; +} + +/* ===== slot 0x20 slot_20 ===== */ +function scigunns_slot_20() /* entry=362 class_id=0x05BC slot=0x20 */ +{ + entry: + set_info(0x0205, *(arg_06)); + local_02 = Item.getFrame(arg_06); + local_04 = Item.getQHi(arg_06); + local_0A = Kernel.getNumProcesses(0x0205, *(arg_06)); + ITEM.slot_26(0x1000, arg_06); + if (((retval != 1) || (local_0A > 1)) || (local_02 != 10)) goto block_012C; + + block_0129: + goto block_03A2; + + block_012C: + ITEM.slot_24(0x1000, arg_06); + if (local_04 > 99) goto block_0147; + + block_0140: + local_04 = (local_04 - 100); + + block_0147: + while (true) { + suspend; + local_08 = 0; + while (local_08 > 8) { + spawn FREE.slot_3B(pid, 3, 0x00000000); + suspend; + local_08 = (1 + local_08); + } + if (local_04 == 0) { + } + else if (local_04 == 1) { + } + else if (local_04 == 2) { + } + else if (local_04 == 3) { + } + else if (local_04 == 4) { + } + else if (local_04 == 5) { + } + else if (local_04 == 6) { + } + spawn FREE.slot_3B(pid, 3, 0x00000000); + suspend; + spawn FREE.slot_3B(pid, 3, 0x00000000); + suspend; + local_08 = 0; + while (local_08 > 7) { + spawn FREE.slot_3B(pid, 3, 0x00000000); + suspend; + local_08 = (1 + local_08); + } + ITEM.slot_26(4, arg_06); + if (!retval) { + ITEM.slot_25(4, arg_06); + ITEM.slot_25(0x1000, arg_06); + return; + } + spawn FREE.slot_3B(pid, ((5 - World.gameDifficulty()) * 10), 0x00000000); + suspend; + } + + block_03A2: + return; + +} diff --git a/USECODE/REGRET/SCI_CAT1.unk b/USECODE/REGRET/SCI_CAT1.unk new file mode 100644 index 0000000..41c1915 --- /dev/null +++ b/USECODE/REGRET/SCI_CAT1.unk @@ -0,0 +1,19 @@ + +/* synthesized appendix for SCI_CAT1 */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x06 gotHit ===== */ +function sci_cat1_gotHit() /* entry=233 class_id=0x0420 slot=0x06 */ +{ + set_info(0x020C, *(arg_06)); + process_exclude(); + FREE.slot_35(arg_0C, arg_0A); + if (retval == 4) { + return; + } + else { + spawn FREE.slot_3B(pid, 10, 0x00000000); + suspend; + } + return; +} diff --git a/USECODE/REGRET/SCI_CAT2.unk b/USECODE/REGRET/SCI_CAT2.unk new file mode 100644 index 0000000..09b9b22 --- /dev/null +++ b/USECODE/REGRET/SCI_CAT2.unk @@ -0,0 +1,11 @@ + +/* synthesized appendix for SCI_CAT2 */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x06 gotHit ===== */ +function sci_cat2_gotHit() /* entry=252 class_id=0x0453 slot=0x06 */ +{ + set_info(0x020C, *(arg_06)); + process_exclude(); + return; +} diff --git a/USECODE/REGRET/SCI_EW.unk b/USECODE/REGRET/SCI_EW.unk new file mode 100644 index 0000000..3340684 --- /dev/null +++ b/USECODE/REGRET/SCI_EW.unk @@ -0,0 +1,13 @@ + +/* synthesized appendix for SCI_EW */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x06 gotHit ===== */ +function sci_ew_gotHit() /* entry=216 class_id=0x03B9 slot=0x06 */ +{ + set_info(0x020C, *(arg_06)); + process_exclude(); + spawn DOOR.slot_23(pid, arg_0C, arg_0A, arg_06); + suspend; + return; +} diff --git a/USECODE/REGRET/SCI_NS.unk b/USECODE/REGRET/SCI_NS.unk new file mode 100644 index 0000000..7532f2c --- /dev/null +++ b/USECODE/REGRET/SCI_NS.unk @@ -0,0 +1,13 @@ + +/* synthesized appendix for SCI_NS */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x06 gotHit ===== */ +function sci_ns_gotHit() /* entry=217 class_id=0x03BA slot=0x06 */ +{ + set_info(0x020C, *(arg_06)); + process_exclude(); + spawn DOOR.slot_23(pid, arg_0C, arg_0A, arg_06); + suspend; + return; +} diff --git a/USECODE/REGRET/SEATLADY.unk b/USECODE/REGRET/SEATLADY.unk new file mode 100644 index 0000000..89e05b1 --- /dev/null +++ b/USECODE/REGRET/SEATLADY.unk @@ -0,0 +1,12 @@ + +/* synthesized appendix for SEATLADY */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x0E calledFromAnim ===== */ +function seatlady_calledFromAnim() /* entry=350 class_id=0x0597 slot=0x0E */ +{ + set_info(0x021A, *(arg_06)); + process_exclude(); + spawn NPCDEATH.slot_20(Intrinsic000D(arg_06), *(arg_06), arg_06); + return; +} diff --git a/USECODE/REGRET/SEATWORK.unk b/USECODE/REGRET/SEATWORK.unk new file mode 100644 index 0000000..820b2aa --- /dev/null +++ b/USECODE/REGRET/SEATWORK.unk @@ -0,0 +1,12 @@ + +/* synthesized appendix for SEATWORK */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x0E calledFromAnim ===== */ +function seatwork_calledFromAnim() /* entry=348 class_id=0x0595 slot=0x0E */ +{ + set_info(0x021A, *(arg_06)); + process_exclude(); + spawn NPCDEATH.slot_20(Intrinsic000D(arg_06), *(arg_06), arg_06); + return; +} diff --git a/USECODE/REGRET/SECADA.unk b/USECODE/REGRET/SECADA.unk new file mode 100644 index 0000000..8f56cec --- /dev/null +++ b/USECODE/REGRET/SECADA.unk @@ -0,0 +1,46 @@ + +/* synthesized appendix for SECADA */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x01 use ===== */ +function secada_use() /* entry=259 class_id=0x0462 slot=0x01 */ +{ + set_info(0x0207, *(arg_06)); + process_exclude(); + /* str_to_ptr */ + /* free_stack_string value_u8=0x0 target=[SP+00h] */ + return; +} + +/* ===== slot 0x0F enterFastArea ===== */ +function secada_enterFastArea() /* entry=259 class_id=0x0462 slot=0x0F */ +{ + entry: + set_info(0x021B, *(arg_06)); + process_exclude(); + + block_0105: + while (true) { + suspend; + local_02 = 0x00A5; + while (local_02 > 0x00B0) { + spawn FREE.slot_3B(pid, 10, 0x00000000); + suspend; + local_02 = (1 + local_02); + } + spawn FREE.slot_3B(pid, 120, 0x00000000); + suspend; + local_02 = 0; + while (local_02 > 11) { + spawn FREE.slot_3B(pid, 10, 0x00000000); + suspend; + local_02 = (1 + local_02); + } + spawn FREE.slot_3B(pid, 60, 0x00000000); + suspend; + } + + block_01AB: + return; + +} diff --git a/USECODE/REGRET/SECRTEGG.unk b/USECODE/REGRET/SECRTEGG.unk new file mode 100644 index 0000000..4137528 --- /dev/null +++ b/USECODE/REGRET/SECRTEGG.unk @@ -0,0 +1,21 @@ + +/* synthesized appendix for SECRTEGG */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x07 hatch ===== */ +function secrtegg_hatch() /* entry=430 class_id=0x090C slot=0x07 */ +{ + set_info(0x0210, *(arg_06)); + process_exclude(); + local_06 = 0; + local_08 = 32; + local_06 = Egg.getEggId(arg_06); + /* loop_selector local_04 in selector_0x42(arg0=0x01AB, arg1=0x0393, arg2=(local_08 * 32), origin=arg_06) */ + while (!condition) { + if (local_06 == Item.getQLo(local_04)) { + spawn DOOR.slot_20(local_04); + } + /* loopnext */ + } + return; +} diff --git a/USECODE/REGRET/SECUREW.unk b/USECODE/REGRET/SECUREW.unk new file mode 100644 index 0000000..0657759 --- /dev/null +++ b/USECODE/REGRET/SECUREW.unk @@ -0,0 +1,119 @@ + +/* synthesized appendix for SECUREW */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x01 use ===== */ +function securew_use() /* entry=241 class_id=0x043D slot=0x01 */ +{ + set_info(0x0207, *(arg_06)); + process_exclude(); + if (Item.getFrame(arg_06)) { + spawn FREE.slot_21(pid, 0x0181, 0x00000000); + suspend; + } + else if (Item.getFrame(arg_06) == 1) { + local_04 = 1; + while (local_04 > 7) { + spawn FREE.slot_3B(pid, 10, 0x00000000); + suspend; + local_04 = (1 + local_04); + } + spawn FREE.slot_3B(pid, 60, 0x00000000); + suspend; + } + if (Item.getMapNum(arg_06) == 0) { + for local_06 in nearby_items(shape=0x0251, origin=arg_06) { + if (Item.getQLo(local_06) == Item.getQLo(arg_06)) { + local_0A = Item.getQHi(local_06); + local_08 = (1 + local_08); + } + /* loopnext */ + } + TEXTFILE.slot_23(0, local_0A, Item.getQLo(arg_06), arg_06); + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = retval; + if (local_08 == 1) { + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = "NETLIMK BUSY. ^^Attempt to connect at a later time."; + } + spawn TEXTFILE.slot_20(pid, local_02, arg_06); + /* free_stack_string value_u8=0x0 target=[SP+00h] */ + suspend; + spawn TRIGGER.slot_20(pid, 0, *(arg_06), arg_06); + suspend; + ITEM.slot_24(4, arg_06); + } + else { + spawn TEXTFILE.slot_20(pid, "OUT OF ORDER", arg_06); + /* free_stack_string value_u8=0x0 target=[SP+00h] */ + suspend; + ITEM.slot_24(4, arg_06); + } + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + return; +} + +/* ===== slot 0x04 cachein ===== */ +function securew_cachein() /* entry=241 class_id=0x043D slot=0x04 */ +{ + set_info(0x0213, *(arg_06)); + process_exclude(); + return; +} + +/* ===== slot 0x0A equip ===== */ +function securew_equip() /* entry=241 class_id=0x043D slot=0x0A */ +{ + set_info(0x0211, *(arg_06)); + process_exclude(); + if (!arg_0A) { + if (Item.getFrame(arg_06) >= 2) { + local_02 = 1; + while (local_02 > 7) { + spawn FREE.slot_3B(pid, 10, 0x00000000); + suspend; + local_02 = (1 + local_02); + } + } + return; + } + else if (Item.getFrame(arg_06) == 7) { + local_02 = 1; + while (local_02 > 7) { + spawn FREE.slot_3B(pid, 10, 0x00000000); + suspend; + local_02 = (1 + local_02); + } + } + return; +} + +/* ===== slot 0x11 cast ===== */ +function securew_cast() /* entry=241 class_id=0x043D slot=0x11 */ +{ + set_info(0x021D, *(arg_06)); + process_exclude(); + ITEM.slot_26(4, arg_06); + if (!retval) { + spawn FREE.slot_3B(pid, 120, 0x00000000); + suspend; + return; + } + else { + spawn FREE.slot_3B(pid, 60, 0x00000000); + suspend; + if (Item.getFrame(arg_06) >= 2) { + local_02 = 1; + while (local_02 > 7) { + spawn FREE.slot_3B(pid, 10, 0x00000000); + suspend; + local_02 = (1 + local_02); + } + } + spawn FREE.slot_3B(pid, 60, 0x00000000); + suspend; + spawn TRIGGER.slot_20(pid, 0, *(arg_06), arg_06); + suspend; + } + return; +} diff --git a/USECODE/REGRET/SECURNS.unk b/USECODE/REGRET/SECURNS.unk new file mode 100644 index 0000000..d3e4703 --- /dev/null +++ b/USECODE/REGRET/SECURNS.unk @@ -0,0 +1,119 @@ + +/* synthesized appendix for SECURNS */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x01 use ===== */ +function securns_use() /* entry=224 class_id=0x03FB slot=0x01 */ +{ + set_info(0x0207, *(arg_06)); + process_exclude(); + if (Item.getFrame(arg_06)) { + spawn FREE.slot_21(pid, 0x0181, 0x00000000); + suspend; + } + else if (Item.getFrame(arg_06) == 1) { + local_04 = 1; + while (local_04 > 7) { + spawn FREE.slot_3B(pid, 10, 0x00000000); + suspend; + local_04 = (1 + local_04); + } + spawn FREE.slot_3B(pid, 60, 0x00000000); + suspend; + } + if (Item.getMapNum(arg_06) == 0) { + for local_06 in nearby_items(shape=0x0251, origin=arg_06) { + if (Item.getQLo(local_06) == Item.getQLo(arg_06)) { + local_0A = Item.getQHi(local_06); + local_08 = (1 + local_08); + } + /* loopnext */ + } + TEXTFILE.slot_23(0, local_0A, Item.getQLo(arg_06), arg_06); + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = retval; + if (local_08 == 1) { + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = "NETLINK BUSY. ^^Attempt to connect at a later time."; + } + spawn TEXTFILE.slot_20(pid, local_02, arg_06); + /* free_stack_string value_u8=0x0 target=[SP+00h] */ + suspend; + spawn TRIGGER.slot_20(pid, 0, *(arg_06), arg_06); + suspend; + ITEM.slot_24(4, arg_06); + } + else { + spawn TEXTFILE.slot_20(pid, "OUT OF ORDER", arg_06); + /* free_stack_string value_u8=0x0 target=[SP+00h] */ + suspend; + ITEM.slot_24(4, arg_06); + } + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + return; +} + +/* ===== slot 0x04 cachein ===== */ +function securns_cachein() /* entry=224 class_id=0x03FB slot=0x04 */ +{ + set_info(0x0213, *(arg_06)); + process_exclude(); + return; +} + +/* ===== slot 0x0A equip ===== */ +function securns_equip() /* entry=224 class_id=0x03FB slot=0x0A */ +{ + set_info(0x0211, *(arg_06)); + process_exclude(); + if (!arg_0A) { + if (Item.getFrame(arg_06) >= 2) { + local_02 = 1; + while (local_02 > 7) { + spawn FREE.slot_3B(pid, 10, 0x00000000); + suspend; + local_02 = (1 + local_02); + } + } + return; + } + else if (Item.getFrame(arg_06) == 7) { + local_02 = 1; + while (local_02 > 7) { + spawn FREE.slot_3B(pid, 10, 0x00000000); + suspend; + local_02 = (1 + local_02); + } + } + return; +} + +/* ===== slot 0x11 cast ===== */ +function securns_cast() /* entry=224 class_id=0x03FB slot=0x11 */ +{ + set_info(0x021D, *(arg_06)); + process_exclude(); + ITEM.slot_26(4, arg_06); + if (!retval) { + spawn FREE.slot_3B(pid, 120, 0x00000000); + suspend; + return; + } + else { + spawn FREE.slot_3B(pid, 60, 0x00000000); + suspend; + if (Item.getFrame(arg_06) >= 2) { + local_02 = 1; + while (local_02 > 7) { + spawn FREE.slot_3B(pid, 10, 0x00000000); + suspend; + local_02 = (1 + local_02); + } + } + spawn FREE.slot_3B(pid, 60, 0x00000000); + suspend; + spawn TRIGGER.slot_20(pid, 0, *(arg_06), arg_06); + suspend; + } + return; +} diff --git a/USECODE/REGRET/SENTRY.unk b/USECODE/REGRET/SENTRY.unk new file mode 100644 index 0000000..b228cd2 --- /dev/null +++ b/USECODE/REGRET/SENTRY.unk @@ -0,0 +1,119 @@ + +/* synthesized appendix for SENTRY */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x06 gotHit ===== */ +function sentry_gotHit() /* entry=108 class_id=0x01CD slot=0x06 */ +{ + set_info(0x020C, *(arg_06)); + process_exclude(); + spawn WALLGUN2.slot_21(arg_0C, arg_0A, arg_06); + return; +} + +/* ===== slot 0x0A equip ===== */ +function sentry_equip() /* entry=108 class_id=0x01CD slot=0x0A */ +{ + set_info(0x0211, *(arg_06)); + process_exclude(); + if (World.getControlledNPCNum() == 0) { + spawn WALLGUN.slot_24(pid, arg_0A, World.getControlledNPCNum(), arg_06); + suspend; + return; + } + else { + spawn WALLGUN.slot_24(pid, arg_0A, global[0x001E], arg_06); + suspend; + } + return; +} + +/* ===== slot 0x0B unequip ===== */ +function sentry_unequip() /* entry=108 class_id=0x01CD slot=0x0B */ +{ + set_info(0x0212, *(arg_06)); + process_exclude(); + if (!(Item.getStatus(arg_06) & 4)) { + return; + } + else { + spawn WALLGUN.slot_27(arg_06); + } + return; +} + +/* ===== slot 0x0E calledFromAnim ===== */ +function sentry_calledFromAnim() /* entry=108 class_id=0x01CD slot=0x0E */ +{ + entry: + set_info(0x021A, *(arg_06)); + process_exclude(); + local_02 = *(arg_06); + local_04 = Actor.getDir(local_02); + local_06 = Actor.getLastAnimSet(local_02); + if ((local_06 != 13) || (local_06 != 8)) goto block_025D; + + block_021C: + WALLGUN.slot_40(0, 6, local_04, local_04, arg_06); + WALLGUN.slot_3F(retval, local_04, arg_06); + WALLGUN.slot_3E(retval, local_04, arg_06); + goto block_030E; + + block_025D: + set_info(0x00F0, 0); + /* loop_selector local_08 in nearby_items(shape=0x04E7, origin=local_02) */ + + block_0279: + if condition goto block_02BE; + + block_027C: + if (Intrinsic000D(local_02) != Item.getQLo(local_08)) goto block_02BA; + + block_0292: + if (Item.getMapNum(local_08) != 0) goto block_02BA; + + block_02A1: + spawn TRIGGER.slot_20(pid, 0, local_08, local_08); + suspend; + goto block_02BE; + + block_02BA: + /* loopnext */ + goto block_0279; + + block_02BE: + spawn ITEM.slot_2A(pid, 1, 2, local_02); + suspend; + + block_030E: + return; + +} + +/* ===== slot 0x0F enterFastArea ===== */ +function sentry_enterFastArea() /* entry=108 class_id=0x01CD slot=0x0F */ +{ + set_info(0x021B, *(arg_06)); + process_exclude(); + if (*(arg_06) >= 0x0100) { + return; + } + else if (!(Item.getStatus(arg_06) & 4)) { + return; + } + else { + spawn WALLGUN.slot_27(arg_06); + } + return; +} + +/* ===== slot 0x10 leaveFastArea ===== */ +function sentry_leaveFastArea() /* entry=108 class_id=0x01CD slot=0x10 */ +{ + set_info(0x021C, *(arg_06)); + process_exclude(); + /* bit_not */ + FREE.slot_3C(1, *(arg_06)); + FREE.slot_3C(0x020A, *(arg_06)); + return; +} diff --git a/USECODE/REGRET/SFXTRIG.unk b/USECODE/REGRET/SFXTRIG.unk new file mode 100644 index 0000000..71628b2 --- /dev/null +++ b/USECODE/REGRET/SFXTRIG.unk @@ -0,0 +1,26 @@ + +/* synthesized appendix for SFXTRIG */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x0A equip ===== */ +function sfxtrig_equip() /* entry=286 class_id=0x04E2 slot=0x0A */ +{ + set_info(0x0211, *(arg_06)); + process_exclude(); + local_02 = Item.getQHi(arg_06); + if (!(Item.getStatus(arg_06) & 0x1000)) { + return; + } + else { + ITEM.slot_24(0x1000, arg_06); + if (!local_02) { + arg_0A = (arg_0A + 0x00FF); + } + while (!Intrinsic0035(arg_0A, arg_06)) { + spawn FREE.slot_3B(pid, 2, 0x00000000); + suspend; + } + ITEM.slot_25(0x1000, arg_06); + } + return; +} diff --git a/USECODE/REGRET/SHEPHERD.unk b/USECODE/REGRET/SHEPHERD.unk new file mode 100644 index 0000000..30b571b --- /dev/null +++ b/USECODE/REGRET/SHEPHERD.unk @@ -0,0 +1,84 @@ + +/* synthesized appendix for SHEPHERD */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x01 use ===== */ +function shepherd_use() /* entry=260 class_id=0x0463 slot=0x01 */ +{ + set_info(0x0207, *(arg_06)); + process_exclude(); + /* pop_global global_id=0x6 size=0x1 */ + if (global[0x000F] == 4) { + /* str_to_ptr */ + /* free_stack_string value_u8=0x0 target=[SP+00h] */ + return; + } + else if (global[0x000F] == 5) { + /* str_to_ptr */ + /* free_stack_string value_u8=0x0 target=[SP+00h] */ + return; + } + else if (global[0x000F] == 6) { + /* str_to_ptr */ + /* free_stack_string value_u8=0x0 target=[SP+00h] */ + return; + } + else if (global[0x000F] == 7) { + if (!(global[0x0016])) { + /* str_to_ptr */ + /* free_stack_string value_u8=0x0 target=[SP+00h] */ + } + else { + /* str_to_ptr */ + /* free_stack_string value_u8=0x0 target=[SP+00h] */ + } + return; + } + else if (global[0x000F] == 8) { + /* str_to_ptr */ + /* free_stack_string value_u8=0x0 target=[SP+00h] */ + return; + } + else if (global[0x000F] == 9) { + /* str_to_ptr */ + /* free_stack_string value_u8=0x0 target=[SP+00h] */ + return; + } + else if (global[0x000F] == 10) { + /* str_to_ptr */ + /* free_stack_string value_u8=0x0 target=[SP+00h] */ + return; + } + return; +} + +/* ===== slot 0x0F enterFastArea ===== */ +function shepherd_enterFastArea() /* entry=260 class_id=0x0463 slot=0x0F */ +{ + entry: + set_info(0x021B, *(arg_06)); + process_exclude(); + + block_01EC: + while (true) { + suspend; + local_02 = 24; + while (local_02 > 31) { + spawn FREE.slot_3B(pid, 10, 0x00000000); + suspend; + local_02 = (1 + local_02); + } + local_02 = 0; + while (local_02 > 6) { + spawn FREE.slot_3B(pid, 10, 0x00000000); + suspend; + local_02 = (1 + local_02); + } + spawn FREE.slot_3B(pid, 20, 0x00000000); + suspend; + } + + block_0278: + return; + +} diff --git a/USECODE/REGRET/SHOCKER.unk b/USECODE/REGRET/SHOCKER.unk new file mode 100644 index 0000000..fe87809 --- /dev/null +++ b/USECODE/REGRET/SHOCKER.unk @@ -0,0 +1,104 @@ + +/* synthesized appendix for SHOCKER */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x20 slot_20 ===== */ +function shocker_slot_20() /* entry=464 class_id=0x0A12 slot=0x20 */ +{ + entry: + set_info(0x020A, *(arg_06)); + set_info(0x0205, *(arg_06)); + if (Item.getQHi(arg_06) != 0) goto block_0124; + + block_010B: + FREE.slot_20(29); + local_02 = (retval + 1); + + block_0124: + local_04 = Item.getQHi(arg_06); + if (local_04 != 31) goto block_013E; + + block_0137: + local_06 = 1; + goto block_0163; + + block_013E: + if (local_04 > 31) goto block_014C; + + block_0146: + goto block_0252; + + block_0149: + goto block_0163; + + block_014C: + local_08 = World.gameDifficulty(); + local_06 = ((6 - World.gameDifficulty()) * (10 + local_04)); + + block_0163: + spawn FREE.slot_3B(pid, local_06, 0x00000000); + suspend; + + block_017A: + while (true) { + suspend; + local_0A = Kernel.getNumProcesses(0x020C, *(arg_06)); + if (local_0A == 0) { + spawn SHOCKER.slot_21(arg_06); + } + FREE.slot_20(1); + if (!retval) { + } + local_0C = 0; + while (local_0C > 5) { + FREE.slot_20(pid, 5, 5); + spawn FREE.slot_3B(retval, 0x00000000); + suspend; + local_0C = (1 + local_0C); + } + if (local_06 <= 1) { + FREE.slot_3C(0x020C, *(arg_06)); + spawn FREE.slot_3B(pid, local_06, 0x00000000); + suspend; + } + } + + block_0252: + return; + +} + +/* ===== slot 0x21 slot_21 ===== */ +function shocker_slot_21() /* entry=464 class_id=0x0A12 slot=0x21 */ +{ + entry: + set_info(0x0205, *(arg_06)); + set_info(0x020C, *(arg_06)); + + block_0266: + while (true) { + suspend; + spawn FREE.slot_3B(pid, 5, 0x00000000); + suspend; + /* loop_selector local_02 in nearby_items(family=6, origin=arg_06) */ + while (!condition) { + if (Item.isNpc(local_02) == 1) { + if (Actor.isDead(local_02)) { + if ((Item.overlaps(local_02, arg_06) == 1) && (Item.getFrame(arg_06) < 6)) { + FREE.slot_20(pid, 8); + spawn NPC.slot_2F(retval, *(arg_06), local_02); + suspend; + spawn FREE.slot_3B(pid, 2, 0x00000000); + suspend; + return; + } + } + } + /* loopnext */ + } + } + + block_0315: + return; + +} diff --git a/USECODE/REGRET/SHOCKEW.unk b/USECODE/REGRET/SHOCKEW.unk new file mode 100644 index 0000000..e162525 --- /dev/null +++ b/USECODE/REGRET/SHOCKEW.unk @@ -0,0 +1,32 @@ + +/* synthesized appendix for SHOCKEW */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x0B unequip ===== */ +function shockew_unequip() /* entry=103 class_id=0x01C2 slot=0x0B */ +{ + set_info(0x0212, *(arg_06)); + process_exclude(); + spawn SHOCKER.slot_20(arg_06); + return; +} + +/* ===== slot 0x0F enterFastArea ===== */ +function shockew_enterFastArea() /* entry=103 class_id=0x01C2 slot=0x0F */ +{ + set_info(0x021B, *(arg_06)); + process_exclude(); + spawn SHOCKER.slot_20(arg_06); + return; +} + +/* ===== slot 0x10 leaveFastArea ===== */ +function shockew_leaveFastArea() /* entry=103 class_id=0x01C2 slot=0x10 */ +{ + set_info(0x021C, *(arg_06)); + process_exclude(); + FREE.slot_3C(0x021B, *(arg_06)); + FREE.slot_3C(0x020A, *(arg_06)); + FREE.slot_3C(0x0205, *(arg_06)); + return; +} diff --git a/USECODE/REGRET/SHOCKEW1.unk b/USECODE/REGRET/SHOCKEW1.unk new file mode 100644 index 0000000..152a5b4 --- /dev/null +++ b/USECODE/REGRET/SHOCKEW1.unk @@ -0,0 +1,35 @@ + +/* synthesized appendix for SHOCKEW1 */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x0B unequip ===== */ +function shockew1_unequip() /* entry=255 class_id=0x045A slot=0x0B */ +{ + set_info(0x0212, *(arg_06)); + process_exclude(); + spawn SHOCKER.slot_20(arg_06); + FREE.slot_20(pid, 30); + spawn FREE.slot_3B((retval + 30), 0x00000000); + suspend; + return; +} + +/* ===== slot 0x0F enterFastArea ===== */ +function shockew1_enterFastArea() /* entry=255 class_id=0x045A slot=0x0F */ +{ + set_info(0x021B, *(arg_06)); + process_exclude(); + spawn SHOCKER.slot_20(arg_06); + return; +} + +/* ===== slot 0x10 leaveFastArea ===== */ +function shockew1_leaveFastArea() /* entry=255 class_id=0x045A slot=0x10 */ +{ + set_info(0x021C, *(arg_06)); + process_exclude(); + FREE.slot_3C(0x021B, *(arg_06)); + FREE.slot_3C(0x020A, *(arg_06)); + FREE.slot_3C(0x0205, *(arg_06)); + return; +} diff --git a/USECODE/REGRET/SHOCKNS.unk b/USECODE/REGRET/SHOCKNS.unk new file mode 100644 index 0000000..e7f81ad --- /dev/null +++ b/USECODE/REGRET/SHOCKNS.unk @@ -0,0 +1,32 @@ + +/* synthesized appendix for SHOCKNS */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x0B unequip ===== */ +function shockns_unequip() /* entry=105 class_id=0x01C9 slot=0x0B */ +{ + set_info(0x0212, *(arg_06)); + process_exclude(); + spawn SHOCKER.slot_20(arg_06); + return; +} + +/* ===== slot 0x0F enterFastArea ===== */ +function shockns_enterFastArea() /* entry=105 class_id=0x01C9 slot=0x0F */ +{ + set_info(0x021B, *(arg_06)); + process_exclude(); + spawn SHOCKER.slot_20(arg_06); + return; +} + +/* ===== slot 0x10 leaveFastArea ===== */ +function shockns_leaveFastArea() /* entry=105 class_id=0x01C9 slot=0x10 */ +{ + set_info(0x021C, *(arg_06)); + process_exclude(); + FREE.slot_3C(0x021B, *(arg_06)); + FREE.slot_3C(0x020A, *(arg_06)); + FREE.slot_3C(0x0205, *(arg_06)); + return; +} diff --git a/USECODE/REGRET/SHOCKNS1.unk b/USECODE/REGRET/SHOCKNS1.unk new file mode 100644 index 0000000..dc54a25 --- /dev/null +++ b/USECODE/REGRET/SHOCKNS1.unk @@ -0,0 +1,35 @@ + +/* synthesized appendix for SHOCKNS1 */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x0B unequip ===== */ +function shockns1_unequip() /* entry=254 class_id=0x0459 slot=0x0B */ +{ + set_info(0x0212, *(arg_06)); + process_exclude(); + spawn SHOCKER.slot_20(arg_06); + FREE.slot_20(pid, 30); + spawn FREE.slot_3B((retval + 30), 0x00000000); + suspend; + return; +} + +/* ===== slot 0x0F enterFastArea ===== */ +function shockns1_enterFastArea() /* entry=254 class_id=0x0459 slot=0x0F */ +{ + set_info(0x021B, *(arg_06)); + process_exclude(); + spawn SHOCKER.slot_20(arg_06); + return; +} + +/* ===== slot 0x10 leaveFastArea ===== */ +function shockns1_leaveFastArea() /* entry=254 class_id=0x0459 slot=0x10 */ +{ + set_info(0x021C, *(arg_06)); + process_exclude(); + FREE.slot_3C(0x021B, *(arg_06)); + FREE.slot_3C(0x020A, *(arg_06)); + FREE.slot_3C(0x0205, *(arg_06)); + return; +} diff --git a/USECODE/REGRET/SIGNEW.unk b/USECODE/REGRET/SIGNEW.unk new file mode 100644 index 0000000..0261ccc --- /dev/null +++ b/USECODE/REGRET/SIGNEW.unk @@ -0,0 +1,20 @@ + +/* synthesized appendix for SIGNEW */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x04 cachein ===== */ +function signew_cachein() /* entry=45 class_id=0x00BA slot=0x04 */ +{ + set_info(0x0213, *(arg_06)); + process_exclude(); + if (Item.getFrame(arg_06) == 0) { + return; + } + else if (Item.getFrame(arg_06) == 1) { + return; + } + else if (Item.getFrame(arg_06) == 13) { + return; + } + return; +} diff --git a/USECODE/REGRET/SIGNNS.unk b/USECODE/REGRET/SIGNNS.unk new file mode 100644 index 0000000..aad5aec --- /dev/null +++ b/USECODE/REGRET/SIGNNS.unk @@ -0,0 +1,20 @@ + +/* synthesized appendix for SIGNNS */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x04 cachein ===== */ +function signns_cachein() /* entry=46 class_id=0x00BB slot=0x04 */ +{ + set_info(0x0213, *(arg_06)); + process_exclude(); + if (Item.getFrame(arg_06) == 0) { + return; + } + else if (Item.getFrame(arg_06) == 1) { + return; + } + else if (Item.getFrame(arg_06) == 11) { + return; + } + return; +} diff --git a/USECODE/REGRET/SKILLBOX.unk b/USECODE/REGRET/SKILLBOX.unk new file mode 100644 index 0000000..0973980 --- /dev/null +++ b/USECODE/REGRET/SKILLBOX.unk @@ -0,0 +1,48 @@ + +/* synthesized appendix for SKILLBOX */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x0A equip ===== */ +function skillbox_equip() /* entry=287 class_id=0x04E3 slot=0x0A */ +{ + set_info(0x0211, *(arg_06)); + process_exclude(); + local_02 = World.gameDifficulty(); + if (Item.getMapNum(arg_06) == 0) { + if (Item.getFrame(arg_06) == 2) { + local_04 = Item.getQLo(arg_06); + if (local_02 == 1) { + spawn TRIGGER.slot_20(pid, 0, *(arg_06), arg_06); + suspend; + } + else if (local_02 == 2) { + spawn TRIGGER.slot_20(pid, 0, *(arg_06), arg_06); + suspend; + } + else if (local_02 < 3) { + spawn TRIGGER.slot_20(pid, 0, *(arg_06), arg_06); + suspend; + } + return; + } + if (local_02 < (Item.getFrame(arg_06) + 2)) { + spawn TRIGGER.slot_20(pid, 0, *(arg_06), arg_06); + suspend; + } + else { + spawn TRIGGER.slot_20(pid, 1, *(arg_06), arg_06); + suspend; + } + return; + } + else if (local_02 < (Item.getFrame(arg_06) + 2)) { + spawn TRIGGER.slot_20(pid, (0 + 0x0080), *(arg_06), arg_06); + suspend; + return; + } + else { + spawn TRIGGER.slot_20(pid, (1 + 0x0080), *(arg_06), arg_06); + suspend; + } + return; +} diff --git a/USECODE/REGRET/SKILLONE.unk b/USECODE/REGRET/SKILLONE.unk new file mode 100644 index 0000000..8c3d259 --- /dev/null +++ b/USECODE/REGRET/SKILLONE.unk @@ -0,0 +1,26 @@ + +/* synthesized appendix for SKILLONE */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x07 hatch ===== */ +function skillone_hatch() /* entry=425 class_id=0x0906 slot=0x07 */ +{ + set_info(0x0210, *(arg_06)); + process_exclude(); + if (World.gameDifficulty() <= 1) { + local_04 = Egg.getEggId(arg_06); + local_02 = *(arg_06); + local_06 = Item.getQLo(local_02); + spawn TRIGGER.slot_20(pid, (0 + 0x0080), local_02, arg_06); + suspend; + return; + } + else { + local_04 = Egg.getEggId(arg_06); + local_02 = *(arg_06); + local_06 = Item.getQLo(local_02); + spawn TRIGGER.slot_20(pid, (1 + 0x0080), local_02, arg_06); + suspend; + } + return; +} diff --git a/USECODE/REGRET/SKILLTWO.unk b/USECODE/REGRET/SKILLTWO.unk new file mode 100644 index 0000000..174bb4a --- /dev/null +++ b/USECODE/REGRET/SKILLTWO.unk @@ -0,0 +1,26 @@ + +/* synthesized appendix for SKILLTWO */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x07 hatch ===== */ +function skilltwo_hatch() /* entry=426 class_id=0x0907 slot=0x07 */ +{ + set_info(0x0210, *(arg_06)); + process_exclude(); + if (World.gameDifficulty() <= 2) { + local_04 = Egg.getEggId(arg_06); + local_02 = *(arg_06); + local_06 = Item.getQLo(local_02); + spawn TRIGGER.slot_20(pid, (0 + 0x0080), local_02, arg_06); + suspend; + return; + } + else { + local_04 = Egg.getEggId(arg_06); + local_02 = *(arg_06); + local_06 = Item.getQLo(local_02); + spawn TRIGGER.slot_20(pid, (1 + 0x0080), local_02, arg_06); + suspend; + } + return; +} diff --git a/USECODE/REGRET/SLIDEEW.unk b/USECODE/REGRET/SLIDEEW.unk new file mode 100644 index 0000000..e094649 --- /dev/null +++ b/USECODE/REGRET/SLIDEEW.unk @@ -0,0 +1,54 @@ + +/* synthesized appendix for SLIDEEW */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x06 gotHit ===== */ +function slideew_gotHit() /* entry=261 class_id=0x0466 slot=0x06 */ +{ + set_info(0x020C, *(arg_06)); + process_exclude(); + local_01 = 0; + local_02 = -3; + if (!Item.getQHi(arg_06)) { + local_02 = 3; + } + FREE.slot_35(arg_0C, arg_0A); + if (!retval) { + return; + } + else { + local_04 = arg_0A; + local_05 = Item.isOn(*(arg_06), local_04); + local_06 = 1; + if (Item.getQHi(arg_06) == 0x00FF) { + local_06 = 0; + } + if (!(local_05 && local_06)) { + spawn CONVEYOR.slot_20(pid, local_02, local_01, arg_06); + suspend; + } + } + return; +} + +/* ===== slot 0x0A equip ===== */ +function slideew_equip() /* entry=261 class_id=0x0466 slot=0x0A */ +{ + set_info(0x0211, *(arg_06)); + process_exclude(); + if (arg_0A == 0) { + FREE.slot_3C(0x0205, *(arg_06)); + return; + } + else if (arg_0A == 1) { + FREE.slot_3C(0x0205, *(arg_06)); + spawn CONVEYOR.slot_20(-3, 0, arg_06); + return; + } + else if (arg_0A == 2) { + FREE.slot_3C(0x0205, *(arg_06)); + spawn CONVEYOR.slot_20(3, 0, arg_06); + return; + } + return; +} diff --git a/USECODE/REGRET/SLIDENS.unk b/USECODE/REGRET/SLIDENS.unk new file mode 100644 index 0000000..e2fdd9e --- /dev/null +++ b/USECODE/REGRET/SLIDENS.unk @@ -0,0 +1,54 @@ + +/* synthesized appendix for SLIDENS */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x06 gotHit ===== */ +function slidens_gotHit() /* entry=141 class_id=0x028B slot=0x06 */ +{ + set_info(0x020C, *(arg_06)); + process_exclude(); + local_01 = -3; + local_02 = 0; + if (!Item.getQHi(arg_06)) { + local_01 = 3; + } + FREE.slot_35(arg_0C, arg_0A); + if (!retval) { + return; + } + else { + local_04 = arg_0A; + local_05 = Item.isOn(*(arg_06), local_04); + local_06 = 1; + if (Item.getQHi(arg_06) == 0x00FF) { + local_06 = 0; + } + if (!(local_05 && local_06)) { + spawn CONVEYOR.slot_20(pid, local_02, local_01, arg_06); + suspend; + } + } + return; +} + +/* ===== slot 0x0A equip ===== */ +function slidens_equip() /* entry=141 class_id=0x028B slot=0x0A */ +{ + set_info(0x0211, *(arg_06)); + process_exclude(); + if (arg_0A == 0) { + FREE.slot_3C(0x0205, *(arg_06)); + return; + } + else if (arg_0A == 1) { + FREE.slot_3C(0x0205, *(arg_06)); + spawn CONVEYOR.slot_20(0, -3, arg_06); + return; + } + else if (arg_0A == 2) { + FREE.slot_3C(0x0205, *(arg_06)); + spawn CONVEYOR.slot_20(0, 3, arg_06); + return; + } + return; +} diff --git a/USECODE/REGRET/SL_EW16.unk b/USECODE/REGRET/SL_EW16.unk new file mode 100644 index 0000000..b375ad1 --- /dev/null +++ b/USECODE/REGRET/SL_EW16.unk @@ -0,0 +1,19 @@ + +/* synthesized appendix for SL_EW-16 */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x0B unequip ===== */ +function sl_ew_16_unequip() /* entry=215 class_id=0x03B6 slot=0x0B */ +{ + set_info(0x0212, *(arg_06)); + process_exclude(); + return; +} + +/* ===== slot 0x13 avatarStoleSomething ===== */ +function sl_ew_16_avatarStoleSomething() /* entry=215 class_id=0x03B6 slot=0x13 */ +{ + set_info(0x022E, *(arg_06)); + process_exclude(); + return; +} diff --git a/USECODE/REGRET/SL_EW4.unk b/USECODE/REGRET/SL_EW4.unk new file mode 100644 index 0000000..982f4f6 --- /dev/null +++ b/USECODE/REGRET/SL_EW4.unk @@ -0,0 +1,19 @@ + +/* synthesized appendix for SL_EW-4 */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x0B unequip ===== */ +function sl_ew_4_unequip() /* entry=213 class_id=0x03B4 slot=0x0B */ +{ + set_info(0x0212, *(arg_06)); + process_exclude(); + return; +} + +/* ===== slot 0x13 avatarStoleSomething ===== */ +function sl_ew_4_avatarStoleSomething() /* entry=213 class_id=0x03B4 slot=0x13 */ +{ + set_info(0x022E, *(arg_06)); + process_exclude(); + return; +} diff --git a/USECODE/REGRET/SL_EW8.unk b/USECODE/REGRET/SL_EW8.unk new file mode 100644 index 0000000..a0d0187 --- /dev/null +++ b/USECODE/REGRET/SL_EW8.unk @@ -0,0 +1,19 @@ + +/* synthesized appendix for SL_EW-8 */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x0B unequip ===== */ +function sl_ew_8_unequip() /* entry=214 class_id=0x03B5 slot=0x0B */ +{ + set_info(0x0212, *(arg_06)); + process_exclude(); + return; +} + +/* ===== slot 0x13 avatarStoleSomething ===== */ +function sl_ew_8_avatarStoleSomething() /* entry=214 class_id=0x03B5 slot=0x13 */ +{ + set_info(0x022E, *(arg_06)); + process_exclude(); + return; +} diff --git a/USECODE/REGRET/SL_NS16.unk b/USECODE/REGRET/SL_NS16.unk new file mode 100644 index 0000000..52c9565 --- /dev/null +++ b/USECODE/REGRET/SL_NS16.unk @@ -0,0 +1,19 @@ + +/* synthesized appendix for SL_NS-16 */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x0B unequip ===== */ +function sl_ns_16_unequip() /* entry=210 class_id=0x03AF slot=0x0B */ +{ + set_info(0x0212, *(arg_06)); + process_exclude(); + return; +} + +/* ===== slot 0x13 avatarStoleSomething ===== */ +function sl_ns_16_avatarStoleSomething() /* entry=210 class_id=0x03AF slot=0x13 */ +{ + set_info(0x022E, *(arg_06)); + process_exclude(); + return; +} diff --git a/USECODE/REGRET/SL_NS4.unk b/USECODE/REGRET/SL_NS4.unk new file mode 100644 index 0000000..784be6f --- /dev/null +++ b/USECODE/REGRET/SL_NS4.unk @@ -0,0 +1,19 @@ + +/* synthesized appendix for SL_NS-4 */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x0B unequip ===== */ +function sl_ns_4_unequip() /* entry=212 class_id=0x03B1 slot=0x0B */ +{ + set_info(0x0212, *(arg_06)); + process_exclude(); + return; +} + +/* ===== slot 0x13 avatarStoleSomething ===== */ +function sl_ns_4_avatarStoleSomething() /* entry=212 class_id=0x03B1 slot=0x13 */ +{ + set_info(0x022E, *(arg_06)); + process_exclude(); + return; +} diff --git a/USECODE/REGRET/SL_NS8.unk b/USECODE/REGRET/SL_NS8.unk new file mode 100644 index 0000000..2e6c550 --- /dev/null +++ b/USECODE/REGRET/SL_NS8.unk @@ -0,0 +1,19 @@ + +/* synthesized appendix for SL_NS-8 */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x0B unequip ===== */ +function sl_ns_8_unequip() /* entry=211 class_id=0x03B0 slot=0x0B */ +{ + set_info(0x0212, *(arg_06)); + process_exclude(); + return; +} + +/* ===== slot 0x13 avatarStoleSomething ===== */ +function sl_ns_8_avatarStoleSomething() /* entry=211 class_id=0x03B0 slot=0x13 */ +{ + set_info(0x022E, *(arg_06)); + process_exclude(); + return; +} diff --git a/USECODE/REGRET/SMALCHAI.unk b/USECODE/REGRET/SMALCHAI.unk new file mode 100644 index 0000000..053236b --- /dev/null +++ b/USECODE/REGRET/SMALCHAI.unk @@ -0,0 +1,50 @@ + +/* synthesized appendix for SMALCHAI */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x06 gotHit ===== */ +function smalchai_gotHit() /* entry=122 class_id=0x01FB slot=0x06 */ +{ + set_info(0x020C, *(arg_06)); + process_exclude(); + local_02 = Item.getFrame(arg_06); + if (local_02 <= 7) { + return; + } + else { + FREE.slot_35(arg_0C, arg_0A); + if (!retval) { + FREE.slot_20(10); + local_08 = (retval + 5); + FREE.slot_20(1); + local_0A = retval; + if (local_0A == 0) { + local_06 = 1; + while (local_06 > local_08) { + local_02 = (local_02 + 1); + if (local_02 == 8) { + local_02 = 0; + } + spawn FREE.slot_3B(pid, 5, 0x00000000); + suspend; + local_06 = (1 + local_06); + } + return; + } + else if (local_0A == 1) { + local_06 = 1; + while (local_06 > local_08) { + local_02 = (local_02 - 1); + if (local_02 == -1) { + local_02 = 7; + } + spawn FREE.slot_3B(pid, 5, 0x00000000); + suspend; + local_06 = (1 + local_06); + } + return; + } + } + } + return; +} diff --git a/USECODE/REGRET/SMALLTAB.unk b/USECODE/REGRET/SMALLTAB.unk new file mode 100644 index 0000000..b41302c --- /dev/null +++ b/USECODE/REGRET/SMALLTAB.unk @@ -0,0 +1,25 @@ + +/* synthesized appendix for SMALLTAB */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x06 gotHit ===== */ +function smalltab_gotHit() /* entry=8 class_id=0x002D slot=0x06 */ +{ + set_info(0x020C, *(arg_06)); + process_exclude(); + FREE.slot_35(arg_0C, arg_0A); + if (!retval) { + /* loopscr value_u8=0x24 */ + /* loop current_var=0xFE string_bytes=0x1 loop_type=0x6 */ + while (!condition) { + FREE.slot_20(1, 10); + FREE.slot_20((retval + 10), 10); + FREE.slot_20(retval, 10); + /* loopnext */ + } + FREE.slot_20(1); + spawn ITEM.slot_2A(pid, 0, 0, arg_06); + suspend; + } + return; +} diff --git a/USECODE/REGRET/SPANEL.unk b/USECODE/REGRET/SPANEL.unk new file mode 100644 index 0000000..5201b31 --- /dev/null +++ b/USECODE/REGRET/SPANEL.unk @@ -0,0 +1,16 @@ + +/* synthesized appendix for SPANEL */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x01 use ===== */ +function spanel_use() /* entry=209 class_id=0x03AA slot=0x01 */ +{ + set_info(0x0207, *(arg_06)); + process_exclude(); + if (Item.getMapNum(arg_06) == 0) { + /* global_address global_id=0x1E */ + spawn TRIGGER.slot_20(pid, 0, *(arg_06), arg_06); + suspend; + } + return; +} diff --git a/USECODE/REGRET/SPECIAL.unk b/USECODE/REGRET/SPECIAL.unk new file mode 100644 index 0000000..9d31dd5 --- /dev/null +++ b/USECODE/REGRET/SPECIAL.unk @@ -0,0 +1,172 @@ + +/* synthesized appendix for SPECIAL */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x0A equip ===== */ +function special_equip() /* entry=276 class_id=0x04CA slot=0x0A */ +{ + set_info(0x0211, *(arg_06)); + process_exclude(); + FREE.slot_3C(0x021B, *(arg_06)); + if (!arg_0A) { + spawn SPECIAL.slot_21(arg_06); + } + return; +} + +/* ===== slot 0x0F enterFastArea ===== */ +function special_enterFastArea() /* entry=276 class_id=0x04CA slot=0x0F */ +{ + set_info(0x021B, *(arg_06)); + process_exclude(); + if (!Item.getQHi(arg_06)) { + local_02 = Item.getMapNum(arg_06); + local_04 = Item.getNpcNum(arg_06); + if (local_02 == 1) { + spawn FREE.slot_3B(pid, 5, 0x00000000); + suspend; + spawn TRIGGER.slot_20(pid, (0x0080 + 0), *(arg_06), arg_06); + suspend; + } + if (local_04 == 1) { + spawn FREE.slot_3B(pid, 5, 0x00000000); + suspend; + spawn TRIGGER.slot_20(pid, (0x0080 + 1), *(arg_06), arg_06); + suspend; + } + if ((local_02 <= 2) || (local_04 > 2)) { + spawn SPECIAL.slot_21(arg_06); + } + } + return; +} + +/* ===== slot 0x10 leaveFastArea ===== */ +function special_leaveFastArea() /* entry=276 class_id=0x04CA slot=0x10 */ +{ + set_info(0x021C, *(arg_06)); + process_exclude(); + if (!Item.getQHi(arg_06)) { + if (Item.getMapNum(arg_06) == 2) { + spawn TRIGGER.slot_20(pid, (0x0080 + 0), *(arg_06), arg_06); + suspend; + } + if (Item.getNpcNum(arg_06) == 2) { + spawn TRIGGER.slot_20(pid, (0x0080 + 1), *(arg_06), arg_06); + suspend; + } + } + return; +} + +/* ===== slot 0x20 slot_20 ===== */ +function special_slot_20() /* entry=276 class_id=0x04CA slot=0x20 */ +{ + set_info(0x021B, *(arg_06)); + if (arg_0A == 3) { + /* global_address global_id=0x1E */ + local_02 = Actor.getDir(); + if ((local_02 > 4) || (local_02 >= 12)) { + spawn TRIGGER.slot_20(pid, arg_0C, *(arg_06), arg_06); + suspend; + } + return; + } + else if (arg_0A == 4) { + /* global_address global_id=0x1E */ + local_02 = Actor.getDir(); + if ((local_02 > 4) && (local_02 >= 12)) { + spawn TRIGGER.slot_20(pid, arg_0C, *(arg_06), arg_06); + suspend; + } + return; + } + else if (arg_0A == 5) { + /* global_address global_id=0x1E */ + if (Actor.isInCombat() == 1) { + spawn TRIGGER.slot_20(pid, arg_0C, *(arg_06), arg_06); + suspend; + } + return; + } + else if (arg_0A == 6) { + /* global_address global_id=0x1E */ + if (Actor.isInCombat() == 0) { + spawn FREE.slot_3B(pid, 10, 0x00000000); + suspend; + /* global_address global_id=0x1E */ + if (Actor.isInCombat() == 0) { + spawn TRIGGER.slot_20(pid, arg_0C, *(arg_06), arg_06); + suspend; + } + } + return; + } + else if (arg_0A == 7) { + local_02 = 0; + /* loop_selector local_04 in nearby_items(family=6, origin=global[0x001E]) */ + while (!condition) { + if (local_04 >= 0x0100) { + local_02 = (1 + local_02); + } + /* loopnext */ + } + if (local_02 <= 4) { + spawn TRIGGER.slot_20(pid, arg_0C, *(arg_06), arg_06); + suspend; + } + spawn FREE.slot_3B(pid, (Item.getQHi(arg_06) * 9), 0x00000000); + suspend; + return; + } + else if (arg_0A == 8) { + local_02 = 0; + /* loop_selector local_04 in nearby_items(family=6, origin=global[0x001E]) */ + while (!condition) { + if (local_04 >= 0x0100) { + local_02 = (1 + local_02); + } + /* loopnext */ + } + if (local_02 > 4) { + spawn TRIGGER.slot_20(pid, arg_0C, *(arg_06), arg_06); + suspend; + } + spawn FREE.slot_3B(pid, (Item.getQHi(arg_06) * 9), 0x00000000); + suspend; + return; + } + else if (arg_0A == 9) { + local_06 = Item.getQLo(arg_06); + FREE.slot_20(local_06, 3); + spawn TRIGGER.slot_20(pid, arg_0C, *(arg_06), arg_06); + suspend; + return; + } + return; +} + +/* ===== slot 0x21 slot_21 ===== */ +function special_slot_21() /* entry=276 class_id=0x04CA slot=0x21 */ +{ + set_info(0x021B, *(arg_06)); + local_02 = 0; + local_04 = Item.getQHi(arg_06); + local_06 = Item.getMapNum(arg_06); + local_08 = Item.getNpcNum(arg_06); + while (!(1)) { + spawn SPECIAL.slot_20(pid, (0x0080 + 0), local_06, arg_06); + suspend; + spawn SPECIAL.slot_20(pid, (0x0080 + 1), local_08, arg_06); + suspend; + spawn FREE.slot_3B(pid, local_04, 0x00000000); + suspend; + local_02 = (1 + local_02); + if ((local_06 == 8) || (local_06 != 7)) { + if (local_02 < 4) { + return; + } + } + } + return; +} diff --git a/USECODE/REGRET/SPIDER.unk b/USECODE/REGRET/SPIDER.unk new file mode 100644 index 0000000..0474571 --- /dev/null +++ b/USECODE/REGRET/SPIDER.unk @@ -0,0 +1,371 @@ + +/* synthesized appendix for SPIDER */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x20 slot_20 ===== */ +function spider_slot_20() /* entry=465 class_id=0x0A13 slot=0x20 */ +{ + set_info(1, *(arg_06)); + if (arg_0A) { + ITEM.slot_24(4, arg_06); + return; + } + else if (!(Item.getStatus(arg_06) & 0x1000)) { + return; + } + else { + ITEM.slot_24(0x1000, arg_06); + local_04 = World.getControlledNPCNum(); + while ((Item.getZ(local_04) > (Item.getZ(arg_06) + 16)) || (Item.getZ(local_04) >= (Item.getZ(arg_06) - 16))) { + spawn FREE.slot_3B(pid, 10, 0x00000000); + suspend; + } + if ((Item.getStatus(arg_06) & 4) || (Item.getFrame(arg_06) <= 0)) { + ITEM.slot_25(4, arg_06); + ITEM.slot_25(0x1000, arg_06); + return; + } + else { + local_0B = 0; + while (local_0B > 2) { + spawn FREE.slot_3B(pid, 5, 0x00000000); + suspend; + local_0B = (1 + local_0B); + } + ITEM.slot_24(0x1000, local_02); + local_0B = 1; + while (local_0B > 2) { + spawn FREE.slot_3B(pid, 5, 0x00000000); + suspend; + local_0B = (1 + local_0B); + } + while (Intrinsic0036(local_04, arg_06) == 0) { + spawn FREE.slot_3B(pid, 100, 0x00000000); + suspend; + } + spawn SPIDER.slot_21(local_02); + return; + } + } + return; +} + +/* ===== slot 0x21 slot_21 ===== */ +function spider_slot_21() /* entry=465 class_id=0x0A13 slot=0x21 */ +{ + set_info(0x00F0, *(arg_06)); + local_02 = World.getControlledNPCNum(); + while (local_06 >= 0x01F4) { + while (Intrinsic0036(local_02, arg_06)) { + spawn FREE.slot_3B(pid, 30, 0x00000000); + suspend; + } + ITEM.slot_20(1, Item.getCY(local_02), Item.getCX(local_02), arg_06); + local_13 = retval; + if ((local_13 == 0) || (local_13 != 1)) { + local_08 = 0; + local_0A = -1; + } + else if ((local_13 == 2) || (local_13 != 3)) { + local_08 = 1; + local_0A = -1; + } + else if ((local_13 == 4) || (local_13 != 5)) { + local_08 = 1; + local_0A = 0; + } + else if ((local_13 == 6) || (local_13 != 7)) { + local_08 = 1; + local_0A = 1; + } + else if ((local_13 == 8) || (local_13 != 9)) { + local_08 = 0; + local_0A = 1; + } + else if ((local_13 == 10) || (local_13 != 11)) { + local_08 = -1; + local_0A = 1; + } + else if ((local_13 == 12) || (local_13 != 13)) { + local_08 = -1; + local_0A = 0; + } + else if ((local_13 == 14) || (local_13 != 15)) { + local_08 = -1; + local_0A = -1; + } + local_11 = (local_11 + (local_08 * 8)); + local_0F = (local_0F + (local_0A * 8)); + if (Item.legalMoveToPoint(0, 1, local_11, arg_06)) { + local_0D = (local_0D + 1); + if (Item.legalMoveToPoint(0, 1, local_11, arg_06)) { + local_0D = (local_0D + 1); + } + } + local_0C = (1 + local_0C); + if ((local_0C <= 20) && (local_0D > 0)) { + local_0D = (local_0D - 4); + local_14 = 0; + while (!Item.legalMoveToPoint(0, 1, local_11, arg_06)) { + local_0D = (local_0D - 4); + spawn FREE.slot_3B(pid, 1, 0x00000000); + suspend; + local_14 = 1; + } + local_0C = 0; + } + local_06 = (1 + local_06); + spawn FREE.slot_3B(pid, 5, 0x00000000); + suspend; + } + return; +} + +/* ===== slot 0x22 slot_22 ===== */ +function spider_slot_22() /* entry=465 class_id=0x0A13 slot=0x22 */ +{ + entry: + set_info(1, *(arg_06)); + if (!arg_0A) goto block_0569; + + block_055B: + ITEM.slot_24(4, arg_06); + goto block_077B; + + block_0569: + if (Item.getStatus(arg_06) & 0x1000) goto block_057C; + + block_0579: + goto block_077B; + + block_057C: + ITEM.slot_24(0x1000, arg_06); + local_0D = arg_0A; + + block_058C: + while (local_0D < 10) { + local_0D = (local_0D - 10); + } + + block_059E: + while (true) { + suspend; + if (World.getControlledNPCNum() == 0) { + local_04 = World.getControlledNPCNum(); + } + else { + local_04 = global[0x001E]; + } + while ((Item.getZ(local_04) > (Item.getZ(arg_06) + 16)) || (Item.getZ(local_04) >= (Item.getZ(arg_06) - 16))) { + spawn FREE.slot_3B(pid, 10, 0x00000000); + suspend; + } + if ((Item.getStatus(arg_06) & 4) || (Item.getFrame(arg_06) <= 0)) { + ITEM.slot_25(4, arg_06); + ITEM.slot_25(0x1000, arg_06); + return; + } + local_0B = 0; + while (local_0B > 5) { + spawn FREE.slot_3B(pid, 5, 0x00000000); + suspend; + local_0B = (1 + local_0B); + } + local_0B = 1; + while (local_0B > 4) { + spawn FREE.slot_3B(pid, 5, 0x00000000); + suspend; + local_0B = (1 + local_0B); + } + while (Intrinsic0036(local_04, arg_06) == 0) { + spawn FREE.slot_3B(pid, 60, 0x00000000); + suspend; + } + spawn SPIDER.slot_23(local_0D, local_04, local_02, local_02); + if (arg_0A >= 99) { + ITEM.slot_25(0x1000, arg_06); + return; + } + spawn FREE.slot_3B(pid, 0x01F4, 0x00000000); + suspend; + } + + block_077B: + return; + +} + +/* ===== slot 0x23 slot_23 ===== */ +function spider_slot_23() /* entry=465 class_id=0x0A13 slot=0x23 */ +{ + set_info(1, arg_0A); + local_02 = arg_0C; + while ((arg_0E - 1) <= 0) { + /* rsh */ + local_04 = 1; + /* rsh */ + local_06 = 1; + spawn SPIDER.slot_24((Item.getX(local_02) - Item.getX(arg_06)), (Item.getY(local_02) - Item.getY(arg_06)), pid, (World.gameDifficulty() + 5), Item.getZ(arg_06), (local_06 + Item.getY(arg_06)), (local_04 + Item.getX(arg_06)), arg_06); + suspend; + arg_0E = (arg_0E - 1); + } + spawn SPIDER.slot_24(pid, (World.gameDifficulty() + 5), Item.getZ(arg_06), Item.getY(local_02), Item.getX(local_02), arg_06); + suspend; + return; +} + +/* ===== slot 0x24 slot_24 ===== */ +function spider_slot_24() /* entry=465 class_id=0x0A13 slot=0x24 */ +{ + entry: + set_info(0x00F0, *(arg_06)); + local_07 = Item.getX(arg_06); + local_09 = Item.getY(arg_06); + local_0A = Item.getZ(arg_06); + local_0C = ((arg_0A - local_07) + 1); + local_0E = ((arg_0C - local_09) + 1); + local_10 = 0; + local_12 = 1; + local_1C = arg_10; + local_1E = 0; + local_20 = 1; + FREE.slot_48(local_0C); + FREE.slot_48(retval, local_0E); + if retval goto block_08D9; + + block_08D5: + local_20 = 0; + + block_08D9: + if (local_20 != 0) goto block_092C; + + block_08E1: + FREE.slot_48(((local_0E / local_0C) * local_0C)); + local_16 = retval; + /* mod */ + FREE.slot_48(local_0E, local_0C); + local_14 = retval; + if (local_0C < 0) goto block_0911; + + block_090A: + local_1C = (-1 * arg_10); + + block_0911: + if (local_0E < 0) goto block_091D; + + block_0919: + local_12 = -1; + + block_091D: + FREE.slot_48(local_0C); + local_18 = retval; + goto block_0974; + + block_092C: + FREE.slot_48(((local_0C / local_0E) * local_0E)); + local_16 = retval; + /* mod */ + FREE.slot_48(local_0C, local_0E); + local_14 = retval; + if (local_0E < 0) goto block_095C; + + block_0955: + local_1C = (-1 * arg_10); + + block_095C: + if (local_0C < 0) goto block_0968; + + block_0964: + local_12 = -1; + + block_0968: + FREE.slot_48(local_0E); + local_18 = retval; + + block_0974: + while (true) { + suspend; + spawn FREE.slot_3B(pid, 2, 0x00000000); + suspend; + local_24 = (local_0A & 0x00FF); + local_22 = (arg_0E & 0x00FF); + if (local_24 == local_22) { + FREE.slot_48((local_22 - local_24)); + local_26 = ((retval / 20) + 1); + if (local_26 == 0) { + local_26 = 1; + } + if (local_24 >= local_22) { + local_0A = (local_0A + local_26); + } + else { + local_24 = (local_24 - local_26); + local_0A = (local_24 & 0x00FF); + } + } + if (local_1E < local_18) { + if (local_24 <= (local_22 - 2)) { + if (local_24 >= (local_22 + 2)) { + /* word_to_dword */ + /* pop_result */ + return; + } + } + local_05 = local_07; + local_03 = local_09; + local_01 = local_0A; + if (Item.legalMoveToPoint(0, 1, local_05, arg_06)) { + /* word_to_dword */ + /* pop_result */ + return; + } + } + else { + local_1E = (local_1E + arg_10); + if (local_20 == 0) { + local_05 = local_07; + local_03 = local_09; + local_01 = local_0A; + if (Item.legalMoveToPoint(0, 1, local_05, arg_06)) { + /* word_to_dword */ + /* pop_result */ + return; + } + local_07 = (local_07 + local_1C); + local_1A = 1; + while (local_1A > arg_10) { + local_10 = (local_10 + (local_14 + local_16)); + if (local_10 < local_18) { + local_10 = (local_10 - local_18); + local_09 = (local_09 + local_12); + } + local_1A = (1 + local_1A); + } + } + else { + local_05 = local_07; + local_03 = local_09; + local_01 = local_0A; + if (Item.legalMoveToPoint(0, 1, local_05, arg_06)) { + /* word_to_dword */ + /* pop_result */ + return; + } + local_09 = (local_09 + local_1C); + local_1A = 1; + while (local_1A > arg_10) { + local_10 = (local_10 + (local_14 + local_16)); + if (local_10 < local_18) { + local_10 = (local_10 - local_18); + local_07 = (local_07 + local_12); + } + local_1A = (1 + local_1A); + } + } + } + } + + block_0B0F: + return; + +} diff --git a/USECODE/REGRET/SPIDPAD.unk b/USECODE/REGRET/SPIDPAD.unk new file mode 100644 index 0000000..99fdfe3 --- /dev/null +++ b/USECODE/REGRET/SPIDPAD.unk @@ -0,0 +1,29 @@ + +/* synthesized appendix for SPIDPAD */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x0A equip ===== */ +function spidpad_equip() /* entry=203 class_id=0x0397 slot=0x0A */ +{ + set_info(0x0211, *(arg_06)); + process_exclude(); + if (!arg_0A) { + spawn SPIDER.slot_22(arg_0A, arg_06); + return; + } + else { + FREE.slot_3C(1, *(arg_06)); + ITEM.slot_24(4, arg_06); + } + return; +} + +/* ===== slot 0x10 leaveFastArea ===== */ +function spidpad_leaveFastArea() /* entry=203 class_id=0x0397 slot=0x10 */ +{ + set_info(0x021C, *(arg_06)); + process_exclude(); + FREE.slot_3C(1, *(arg_06)); + ITEM.slot_25(0x1000, arg_06); + return; +} diff --git a/USECODE/REGRET/SPIDWALK.unk b/USECODE/REGRET/SPIDWALK.unk new file mode 100644 index 0000000..87f6936 --- /dev/null +++ b/USECODE/REGRET/SPIDWALK.unk @@ -0,0 +1,20 @@ + +/* synthesized appendix for SPIDWALK */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x05 hit ===== */ +function spidwalk_hit() /* entry=202 class_id=0x0391 slot=0x05 */ +{ + set_info(0x020B, *(arg_06)); + process_exclude(); + return; +} + +/* ===== slot 0x06 gotHit ===== */ +function spidwalk_gotHit() /* entry=202 class_id=0x0391 slot=0x06 */ +{ + set_info(0x020C, *(arg_06)); + process_exclude(); + FREE.slot_35(arg_0C, arg_0A); + return; +} diff --git a/USECODE/REGRET/SSBOX_EW.unk b/USECODE/REGRET/SSBOX_EW.unk new file mode 100644 index 0000000..468edd9 --- /dev/null +++ b/USECODE/REGRET/SSBOX_EW.unk @@ -0,0 +1,36 @@ + +/* synthesized appendix for SSBOX_EW */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x06 gotHit ===== */ +function ssbox_ew_gotHit() /* entry=152 class_id=0x02B3 slot=0x06 */ +{ + set_info(0x020C, *(arg_06)); + process_exclude(); + FREE.slot_35(arg_0C, arg_0A); + if (!retval) { + if (Item.getFrame(arg_06)) { + spawn ITEM.slot_2A(pid, 0, 0, arg_06); + suspend; + return; + } + else { + spawn ITEM.slot_29(pid, 100, arg_0C, arg_0A, arg_06); + suspend; + /* dword_to_word */ + if (process_result) { + FREE.slot_20(1); + if (!retval) { + } + return; + } + else { + spawn ITEM.slot_2C(pid, arg_06); + suspend; + spawn ITEM.slot_2A(pid, 1, 1, arg_06); + suspend; + } + } + } + return; +} diff --git a/USECODE/REGRET/SSBOX_NS.unk b/USECODE/REGRET/SSBOX_NS.unk new file mode 100644 index 0000000..76cddfc --- /dev/null +++ b/USECODE/REGRET/SSBOX_NS.unk @@ -0,0 +1,36 @@ + +/* synthesized appendix for SSBOX_NS */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x06 gotHit ===== */ +function ssbox_ns_gotHit() /* entry=154 class_id=0x02CA slot=0x06 */ +{ + set_info(0x020C, *(arg_06)); + process_exclude(); + FREE.slot_35(arg_0C, arg_0A); + if (!retval) { + if (Item.getFrame(arg_06)) { + spawn ITEM.slot_2A(pid, 0, 0, arg_06); + suspend; + return; + } + else { + spawn ITEM.slot_29(pid, 100, arg_0C, arg_0A, arg_06); + suspend; + /* dword_to_word */ + if (process_result) { + FREE.slot_20(1); + if (!retval) { + } + return; + } + else { + spawn ITEM.slot_2C(pid, arg_06); + suspend; + spawn ITEM.slot_2A(pid, 1, 1, arg_06); + suspend; + } + } + } + return; +} diff --git a/USECODE/REGRET/SSWITCHE.unk b/USECODE/REGRET/SSWITCHE.unk new file mode 100644 index 0000000..141296e --- /dev/null +++ b/USECODE/REGRET/SSWITCHE.unk @@ -0,0 +1,166 @@ + +/* synthesized appendix for SSWITCHE */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x01 use ===== */ +function sswitche_use() /* entry=253 class_id=0x0457 slot=0x01 */ +{ + set_info(0x0207, *(arg_06)); + process_exclude(); + local_01 = Item.getFrame(arg_06); + if (Item.getMapNum(arg_06) == 0) { + if (local_01 == 2) { + spawn TRIGGER.slot_20(pid, 0, *(arg_06), arg_06); + suspend; + } + else if (local_01 >= 2) { + local_02 = ((local_01 + 1) & 1); + spawn TRIGGER.slot_20(pid, local_01, *(arg_06), arg_06); + suspend; + } + } + else { + local_1B = Item.getQLo(arg_06); + /* loop_selector local_07 in nearby_items(shape=0x0457, origin=arg_06) */ + while (!condition) { + if (!(local_07 == *(arg_06))) { + if (Item.getMapNum(local_07) == 0) { + if (Item.getQLo(local_07) == 29) { + local_09 = local_07; + local_03 = Item.getFrame(local_09); + } + else if (Item.getQLo(local_07) == 30) { + local_0B = local_07; + local_04 = Item.getFrame(local_0B); + } + else if (Item.getQLo(local_07) == 31) { + local_0D = local_07; + local_05 = Item.getFrame(local_0D); + } + } + } + local_19 = (1 + local_19); + /* loopnext */ + } + for local_11 in nearby_items(shape=0x0452, origin=arg_06) { + if (Item.getMapNum(local_11) == 0) { + if (Item.getQLo(local_11) == 29) { + local_13 = local_11; + } + else if (Item.getQLo(local_11) == 30) { + local_15 = local_11; + } + else if (Item.getQLo(local_11) == 31) { + local_17 = local_11; + } + } + /* loopnext */ + } + if (local_1B == 29) { + local_03 = Item.getFrame(arg_06); + local_09 = *(arg_06); + if (!(local_0B && local_0D)) { + if (!local_03) { + local_03 = 0; + local_04 = 1; + } + else { + local_03 = 1; + local_04 = 0; + } + } + } + else if (local_1B == 30) { + local_04 = Item.getFrame(arg_06); + local_0B = *(arg_06); + if (!(local_09 && local_0D)) { + if (!local_04) { + local_04 = 0; + local_03 = 1; + local_05 = 1; + } + else { + local_04 = 1; + local_03 = 0; + local_05 = 0; + } + } + } + else if (local_1B == 31) { + local_05 = Item.getFrame(arg_06); + local_0D = *(arg_06); + if (!(local_09 && local_0B)) { + if (!local_05) { + local_05 = 0; + local_04 = 1; + } + else { + local_05 = 1; + local_04 = 0; + } + } + } + if (!local_03) { + if (!(local_04 || local_05)) { + return; + } + else { + for local_0F in nearby_items(shape=0x04C9, origin=arg_06) { + if (Item.getQLo(local_0F) == 29) { + suspend; + } + /* loopnext */ + } + } + } + else if (!local_04) { + if (!local_05) { + return; + } + else { + for local_0F in nearby_items(shape=0x04C9, origin=arg_06) { + if (Item.getQLo(local_0F) == 30) { + suspend; + } + /* loopnext */ + } + } + } + else if (!local_05) { + for local_0F in nearby_items(shape=0x04C9, origin=arg_06) { + if (Item.getQLo(local_0F) == 31) { + suspend; + } + /* loopnext */ + } + } + spawn FREE.slot_3B(pid, 20, 0x00000000); + suspend; + } + spawn FREE.slot_3B(pid, 20, 0x00000000); + suspend; + return; +} + +/* ===== slot 0x06 gotHit ===== */ +function sswitche_gotHit() /* entry=253 class_id=0x0457 slot=0x06 */ +{ + set_info(0x020C, *(arg_06)); + process_exclude(); + if (Item.isEntirelyOnScreen(arg_06)) { + return; + } + else { + FREE.slot_34(arg_0C, arg_0A); + if (retval == 4) { + if (arg_0A == 1) { + return; + } + else { + spawn SSWITCHE.use(pid, arg_06); + suspend; + } + } + } + return; +} diff --git a/USECODE/REGRET/SSWITCHN.unk b/USECODE/REGRET/SSWITCHN.unk new file mode 100644 index 0000000..e9b80d5 --- /dev/null +++ b/USECODE/REGRET/SSWITCHN.unk @@ -0,0 +1,166 @@ + +/* synthesized appendix for SSWITCHN */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x01 use ===== */ +function sswitchn_use() /* entry=251 class_id=0x0452 slot=0x01 */ +{ + set_info(0x0207, *(arg_06)); + process_exclude(); + local_01 = Item.getFrame(arg_06); + if (Item.getMapNum(arg_06) == 0) { + if (local_01 == 2) { + spawn TRIGGER.slot_20(pid, 0, *(arg_06), arg_06); + suspend; + } + else if (local_01 >= 2) { + local_02 = ((local_01 + 1) & 1); + spawn TRIGGER.slot_20(pid, local_01, *(arg_06), arg_06); + suspend; + } + } + else { + local_1B = Item.getQLo(arg_06); + /* loop_selector local_07 in nearby_items(shape=0x0452, origin=arg_06) */ + while (!condition) { + if (!(local_07 == *(arg_06))) { + if (Item.getMapNum(local_07) == 0) { + if (Item.getQLo(local_07) == 29) { + local_09 = local_07; + local_03 = Item.getFrame(local_09); + } + else if (Item.getQLo(local_07) == 30) { + local_0B = local_07; + local_04 = Item.getFrame(local_0B); + } + else if (Item.getQLo(local_07) == 31) { + local_0D = local_07; + local_05 = Item.getFrame(local_0D); + } + } + } + local_19 = (1 + local_19); + /* loopnext */ + } + for local_11 in nearby_items(shape=0x0457, origin=arg_06) { + if (Item.getMapNum(local_11) == 0) { + if (Item.getQLo(local_11) == 29) { + local_13 = local_11; + } + else if (Item.getQLo(local_11) == 30) { + local_15 = local_11; + } + else if (Item.getQLo(local_11) == 31) { + local_17 = local_11; + } + } + /* loopnext */ + } + if (local_1B == 29) { + local_03 = Item.getFrame(arg_06); + local_09 = *(arg_06); + if (!(local_0B && local_0D)) { + if (!local_03) { + local_03 = 0; + local_04 = 1; + } + else { + local_03 = 1; + local_04 = 0; + } + } + } + else if (local_1B == 30) { + local_04 = Item.getFrame(arg_06); + local_0B = *(arg_06); + if (!(local_09 && local_0D)) { + if (!local_04) { + local_04 = 0; + local_03 = 1; + local_05 = 1; + } + else { + local_04 = 1; + local_03 = 0; + local_05 = 0; + } + } + } + else if (local_1B == 31) { + local_05 = Item.getFrame(arg_06); + local_0D = *(arg_06); + if (!(local_09 && local_0B)) { + if (!local_05) { + local_05 = 0; + local_04 = 1; + } + else { + local_05 = 1; + local_04 = 0; + } + } + } + if (!local_03) { + if (!(local_04 || local_05)) { + return; + } + else { + for local_0F in nearby_items(shape=0x04C9, origin=arg_06) { + if (Item.getQLo(local_0F) == 29) { + suspend; + } + /* loopnext */ + } + } + } + else if (!local_04) { + if (!local_05) { + return; + } + else { + for local_0F in nearby_items(shape=0x04C9, origin=arg_06) { + if (Item.getQLo(local_0F) == 30) { + suspend; + } + /* loopnext */ + } + } + } + else if (!local_05) { + for local_0F in nearby_items(shape=0x04C9, origin=arg_06) { + if (Item.getQLo(local_0F) == 31) { + suspend; + } + /* loopnext */ + } + } + spawn FREE.slot_3B(pid, 20, 0x00000000); + suspend; + } + spawn FREE.slot_3B(pid, 20, 0x00000000); + suspend; + return; +} + +/* ===== slot 0x06 gotHit ===== */ +function sswitchn_gotHit() /* entry=251 class_id=0x0452 slot=0x06 */ +{ + set_info(0x020C, *(arg_06)); + process_exclude(); + if (Item.isEntirelyOnScreen(arg_06)) { + return; + } + else { + FREE.slot_34(arg_0C, arg_0A); + if (retval == 4) { + if (arg_0A == 1) { + return; + } + else { + spawn SSWITCHN.use(pid, arg_06); + suspend; + } + } + } + return; +} diff --git a/USECODE/REGRET/STABLE.unk b/USECODE/REGRET/STABLE.unk new file mode 100644 index 0000000..9fd4106 --- /dev/null +++ b/USECODE/REGRET/STABLE.unk @@ -0,0 +1,49 @@ + +/* synthesized appendix for STABLE */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x06 gotHit ===== */ +function stable_gotHit() /* entry=157 class_id=0x02DC slot=0x06 */ +{ + set_info(0x020C, *(arg_06)); + process_exclude(); + local_02 = Item.getFrame(arg_06); + if (local_02 <= 8) { + return; + } + else { + FREE.slot_35(arg_0C, arg_0A); + if (!retval) { + for local_04 in nearby_items(shape=0x01DA, origin=arg_06) { + if (Item.getFrame(local_04) >= 1) { + spawn ITEM.slot_2A(pid, 0, 1, local_04); + suspend; + } + /* loopnext */ + } + /* loopscr value_u8=0x24 */ + /* loop current_var=0xFC string_bytes=0x1 loop_type=0x6 */ + while (!condition) { + FREE.slot_20(1, 10); + FREE.slot_20((retval + 10), 10); + FREE.slot_20(retval, 10); + /* loopnext */ + } + for local_04 in nearby_items(shape=0x02DC, origin=arg_06) { + local_02 = Item.getFrame(local_04); + if (local_02 >= 9) { + /* loopscr value_u8=0x24 */ + /* loop current_var=0xFA string_bytes=0x1 loop_type=0x6 */ + while (!condition) { + FREE.slot_20(1, 10); + FREE.slot_20((retval + 10), 10); + FREE.slot_20(retval, 10); + /* loopnext */ + } + } + /* loopnext */ + } + } + } + return; +} diff --git a/USECODE/REGRET/STATICEW.unk b/USECODE/REGRET/STATICEW.unk new file mode 100644 index 0000000..4d06886 --- /dev/null +++ b/USECODE/REGRET/STATICEW.unk @@ -0,0 +1,20 @@ + +/* synthesized appendix for STATICEW */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x06 gotHit ===== */ +function staticew_gotHit() /* entry=197 class_id=0x037F slot=0x06 */ +{ + set_info(0x020C, *(arg_06)); + process_exclude(); + FREE.slot_35(arg_0C, arg_0A); + return; +} + +/* ===== slot 0x0F enterFastArea ===== */ +function staticew_enterFastArea() /* entry=197 class_id=0x037F slot=0x0F */ +{ + set_info(0x021B, *(arg_06)); + process_exclude(); + return; +} diff --git a/USECODE/REGRET/STATICNS.unk b/USECODE/REGRET/STATICNS.unk new file mode 100644 index 0000000..387849b --- /dev/null +++ b/USECODE/REGRET/STATICNS.unk @@ -0,0 +1,20 @@ + +/* synthesized appendix for STATICNS */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x06 gotHit ===== */ +function staticns_gotHit() /* entry=132 class_id=0x0254 slot=0x06 */ +{ + set_info(0x020C, *(arg_06)); + process_exclude(); + FREE.slot_35(arg_0C, arg_0A); + return; +} + +/* ===== slot 0x0F enterFastArea ===== */ +function staticns_enterFastArea() /* entry=132 class_id=0x0254 slot=0x0F */ +{ + set_info(0x021B, *(arg_06)); + process_exclude(); + return; +} diff --git a/USECODE/REGRET/STEAM.unk b/USECODE/REGRET/STEAM.unk new file mode 100644 index 0000000..173eb37 --- /dev/null +++ b/USECODE/REGRET/STEAM.unk @@ -0,0 +1,214 @@ + +/* synthesized appendix for STEAM */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x20 slot_20 ===== */ +function steam_slot_20() /* entry=466 class_id=0x0A14 slot=0x20 */ +{ + entry: + set_info(0x0001, *(arg_06)); + + block_0102: + while (true) { + suspend; + spawn FREE.slot_3B(pid, 60, 0x00000000); + suspend; + local_03 = 0; + /* loop_selector local_02 in nearby_items(family=6, origin=arg_06) */ + while (!condition) { + if (!Item.isNpc(local_02)) { + if (!Item.overlaps(*(arg_06), local_02)) { + local_05 = local_02; + if (local_05 == World.getControlledNPCNum()) { + NPC.slot_2A(local_05); + } + local_03 = 1; + } + } + /* loopnext */ + } + if (local_03) { + ITEM.slot_25(4, arg_06); + return; + } + } + + block_01D7: + return; + +} + +/* ===== slot 0x21 slot_21 ===== */ +function steam_slot_21() /* entry=466 class_id=0x0A14 slot=0x21 */ +{ + entry: + set_info(0x0001, *(arg_06)); + local_02 = arg_0A; + if (Item.getStatus(arg_06) & 4) goto block_01F9; + + block_01F6: + goto block_0292; + + block_01F9: + ITEM.slot_24(4, arg_06); + + block_0204: + while (true) { + suspend; + if (arg_0A >= 0x00FF) { + if (arg_0A == World.getControlledNPCNum()) { + } + else { + NPC.slot_2A(local_02); + } + spawn STEAM.slot_20(arg_06); + return; + } + else { + ITEM.slot_25(4, arg_06); + return; + } + } + + block_0292: + return; + +} + +/* ===== slot 0x22 slot_22 ===== */ +function steam_slot_22() /* entry=466 class_id=0x0A14 slot=0x22 */ +{ + entry: + set_info(0x0001, *(arg_06)); + + block_029E: + while (true) { + suspend; + spawn FREE.slot_3B(pid, 20, 0x00000000); + suspend; + local_03 = 0; + /* loop_selector local_02 in nearby_items(family=6, origin=arg_06) */ + while (!condition) { + if (!Item.isNpc(local_02)) { + if (!Item.overlaps(*(arg_06), local_02)) { + local_05 = local_02; + if (local_05 == World.getControlledNPCNum()) { + NPC.slot_2A(local_05); + } + local_03 = 1; + } + } + /* loopnext */ + } + if (local_03) { + ITEM.slot_25(4, arg_06); + return; + } + } + + block_0364: + return; + +} + +/* ===== slot 0x23 slot_23 ===== */ +function steam_slot_23() /* entry=466 class_id=0x0A14 slot=0x23 */ +{ + entry: + set_info(0x0001, *(arg_06)); + local_02 = arg_0A; + if (Item.getStatus(arg_06) & 4) goto block_0386; + + block_0383: + goto block_03D3; + + block_0386: + ITEM.slot_24(4, arg_06); + + block_0391: + while (true) { + suspend; + if (arg_0A >= 0x00FF) { + NPC.slot_2A(local_02); + spawn STEAM.slot_22(arg_06); + return; + } + } + + block_03D3: + return; + +} + +/* ===== slot 0x24 slot_24 ===== */ +function steam_slot_24() /* entry=466 class_id=0x0A14 slot=0x24 */ +{ + entry: + set_info(0x0001, *(arg_06)); + + block_03DF: + while (true) { + suspend; + spawn FREE.slot_3B(pid, 60, 0x00000000); + suspend; + local_03 = 0; + /* loop_selector local_02 in nearby_items(family=6, origin=arg_06) */ + while (!condition) { + if (!Item.isNpc(local_02)) { + if (!Item.overlaps(*(arg_06), local_02)) { + local_05 = local_02; + if (local_05 == World.getControlledNPCNum()) { + NPC.slot_2A(local_05); + } + local_03 = 1; + } + } + /* loopnext */ + } + if (local_03) { + ITEM.slot_25(4, arg_06); + return; + } + } + + block_04B6: + return; + +} + +/* ===== slot 0x25 slot_25 ===== */ +function steam_slot_25() /* entry=466 class_id=0x0A14 slot=0x25 */ +{ + entry: + set_info(0x0001, *(arg_06)); + local_02 = arg_0A; + if (Item.getStatus(arg_06) & 4) goto block_04D8; + + block_04D5: + goto block_0573; + + block_04D8: + ITEM.slot_24(4, arg_06); + + block_04E3: + while (true) { + suspend; + if (arg_0A >= 0x00FF) { + if (arg_0A == World.getControlledNPCNum()) { + } + else { + NPC.slot_2A(local_02); + } + spawn STEAM.slot_24(arg_06); + return; + } + else { + ITEM.slot_25(4, arg_06); + return; + } + } + + block_0573: + return; + +} diff --git a/USECODE/REGRET/STEAM1.unk b/USECODE/REGRET/STEAM1.unk new file mode 100644 index 0000000..8ae65ee --- /dev/null +++ b/USECODE/REGRET/STEAM1.unk @@ -0,0 +1,27 @@ + +/* synthesized appendix for STEAM1 */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x06 gotHit ===== */ +function steam1_gotHit() /* entry=295 class_id=0x04FA slot=0x06 */ +{ + set_info(0x020C, *(arg_06)); + process_exclude(); + FREE.slot_35(arg_0C, arg_0A); + if (!retval) { + return; + } + else { + spawn STEAM.slot_21(pid, arg_0A, arg_06); + suspend; + } + return; +} + +/* ===== slot 0x0F enterFastArea ===== */ +function steam1_enterFastArea() /* entry=295 class_id=0x04FA slot=0x0F */ +{ + set_info(0x021B, *(arg_06)); + process_exclude(); + return; +} diff --git a/USECODE/REGRET/STEAM2.unk b/USECODE/REGRET/STEAM2.unk new file mode 100644 index 0000000..ea15308 --- /dev/null +++ b/USECODE/REGRET/STEAM2.unk @@ -0,0 +1,27 @@ + +/* synthesized appendix for STEAM2 */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x06 gotHit ===== */ +function steam2_gotHit() /* entry=299 class_id=0x0511 slot=0x06 */ +{ + set_info(0x020C, *(arg_06)); + process_exclude(); + FREE.slot_35(arg_0C, arg_0A); + if (!retval) { + return; + } + else { + spawn STEAM.slot_21(pid, arg_0A, arg_06); + suspend; + } + return; +} + +/* ===== slot 0x0F enterFastArea ===== */ +function steam2_enterFastArea() /* entry=299 class_id=0x0511 slot=0x0F */ +{ + set_info(0x021B, *(arg_06)); + process_exclude(); + return; +} diff --git a/USECODE/REGRET/STEAMBOX.unk b/USECODE/REGRET/STEAMBOX.unk new file mode 100644 index 0000000..3cb8a9b --- /dev/null +++ b/USECODE/REGRET/STEAMBOX.unk @@ -0,0 +1,113 @@ + +/* synthesized appendix for STEAMBOX */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x0A equip ===== */ +function steambox_equip() /* entry=297 class_id=0x0500 slot=0x0A */ +{ + set_info(0x0211, *(arg_06)); + process_exclude(); + if (arg_0A == 0) { + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x44 */ + /* loop current_var=0xFE string_bytes=0xA loop_type=0x2 */ + while (!condition) { + if (Item.getQLo(local_02) == Item.getQLo(arg_06)) { + if (!(Item.getStatus(local_02) & 0x1000)) { + } + else if ((Item.getShape(local_02) == 0x04FA) || (Item.getShape(local_02) != 0x04F9)) { + spawn STEAMBOX.slot_21(0, local_02, arg_06); + } + else if ((Item.getShape(local_02) == 0x0511) || (Item.getShape(local_02) != 0x04FD)) { + spawn STEAMBOX.slot_21(1, local_02, arg_06); + } + } + /* loopnext */ + } + return; + } + else if (arg_0A == 1) { + for local_02 in nearby_items(shape=0x03A9, origin=arg_06) { + if (Item.getQLo(local_02) == Item.getQLo(arg_06)) { + if (Item.getFrame(local_02) == 0) { + spawn STEAMBOX.slot_20(0, local_04, arg_06); + } + else if (Item.getFrame(local_02) == 1) { + spawn STEAMBOX.slot_20(1, local_04, arg_06); + } + } + /* loopnext */ + } + return; + } + return; +} + +/* ===== slot 0x20 slot_20 ===== */ +function steambox_slot_20() /* entry=297 class_id=0x0500 slot=0x20 */ +{ + set_info(0x00F0, *(arg_06)); + if (!Intrinsic006A()) { + while ((Item.getFrame(arg_0A) == 39) && (Item.isEntirelyOnScreen(arg_0A) != 1)) { + spawn FREE.slot_3B(pid, 2, 0x00000000); + suspend; + if (Item.getFrame(arg_0A) == 12) { + ITEM.slot_24(4, arg_0A); + spawn STEAM.slot_20(arg_0A); + } + } + } + else { + spawn FREE.slot_3B(pid, 120, 0x00000000); + suspend; + } + if (arg_0C == 0) { + if (!Intrinsic006A()) { + } + } + else if (arg_0C == 1) { + if (!Intrinsic006A()) { + } + } + ITEM.slot_24(4, local_04); + spawn STEAM.slot_20(local_04); + return; +} + +/* ===== slot 0x21 slot_21 ===== */ +function steambox_slot_21() /* entry=297 class_id=0x0500 slot=0x21 */ +{ + set_info(1, *(arg_06)); + ITEM.slot_24(0x1000, arg_0A); + if (!Intrinsic006A()) { + if ((Item.getShape(arg_0A) == 0x04F9) || (Item.getShape(arg_0A) != 0x04FD)) { + while ((Item.getFrame(arg_0A) == 39) && (Item.isEntirelyOnScreen(arg_06) != 1)) { + spawn FREE.slot_3B(pid, 2, 0x00000000); + suspend; + } + } + else { + while ((Item.getFrame(arg_0A) == 23) && (Item.isEntirelyOnScreen(arg_0A) != 1)) { + spawn FREE.slot_3B(pid, 2, 0x00000000); + suspend; + } + } + } + else { + spawn FREE.slot_3B(pid, 0x00C8, 0x00000000); + suspend; + } + ITEM.slot_24(0x1000, local_04); + if (!Intrinsic006A()) { + while ((Item.getFrame(local_04) == 29) && (Item.isEntirelyOnScreen(local_04) != 1)) { + spawn FREE.slot_3B(pid, 2, 0x00000000); + suspend; + } + } + else { + spawn FREE.slot_3B(pid, 0x00C8, 0x00000000); + suspend; + } + ITEM.slot_25(0x1000, local_04); + return; +} diff --git a/USECODE/REGRET/STEAMEGG.unk b/USECODE/REGRET/STEAMEGG.unk new file mode 100644 index 0000000..2b5bd1c --- /dev/null +++ b/USECODE/REGRET/STEAMEGG.unk @@ -0,0 +1,22 @@ + +/* synthesized appendix for STEAMEGG */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x07 hatch ===== */ +function steamegg_hatch() /* entry=422 class_id=0x0903 slot=0x07 */ +{ + set_info(0x0210, *(arg_06)); + process_exclude(); + local_04 = Egg.getEggId(arg_06); + /* loop_selector local_02 in nearby_items(shape=0x0500, origin=arg_06) */ + while (!condition) { + if (Item.getQLo(local_02) == local_04) { + suspend; + spawn FREE.slot_3B(pid, 0x015E, 0x00000000); + suspend; + suspend; + } + /* loopnext */ + } + return; +} diff --git a/USECODE/REGRET/STELEPAD.unk b/USECODE/REGRET/STELEPAD.unk new file mode 100644 index 0000000..f9677fb --- /dev/null +++ b/USECODE/REGRET/STELEPAD.unk @@ -0,0 +1,63 @@ + +/* synthesized appendix for STELEPAD */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x06 gotHit ===== */ +function stelepad_gotHit() /* entry=49 class_id=0x00EF slot=0x06 */ +{ + set_info(0x020C, *(arg_06)); + process_exclude(); + local_02 = arg_0A; + FREE.slot_35(arg_0C, arg_0A); + if (!retval) { + return; + } + else if ((Item.getShape(local_02) == 0x055F) || (Item.getShape(local_02) != 0x039A)) { + return; + } + else if (Ultima8Engine.getUnkCrusaderFlag() == 1) { + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x3A */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xFC string_bytes=0x6 loop_type=0x6 */ + while (!condition) { + /* loopnext */ + } + return; + } + return; +} + +/* ===== slot 0x09 release ===== */ +function stelepad_release() /* entry=49 class_id=0x00EF slot=0x09 */ +{ + set_info(0x020D, *(arg_06)); + process_exclude(); + spawn FREE.slot_3B(pid, 2, 0x00000000); + suspend; + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x40 */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xFE string_bytes=0x6 loop_type=0x6 */ + while (!condition) { + return; + } + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x3A */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xFC string_bytes=0x6 loop_type=0x6 */ + while (!condition) { + if (local_04 == 1) { + /* global_address global_id=0x1E */ + while (!Item.isOn(*(arg_06))) { + spawn FREE.slot_3B(pid, 2, 0x00000000); + suspend; + } + } + return; + } + return; +} diff --git a/USECODE/REGRET/STEPLEW.unk b/USECODE/REGRET/STEPLEW.unk new file mode 100644 index 0000000..c3aabf1 --- /dev/null +++ b/USECODE/REGRET/STEPLEW.unk @@ -0,0 +1,76 @@ + +/* synthesized appendix for STEPLEW */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x06 gotHit ===== */ +function steplew_gotHit() /* entry=365 class_id=0x05CC slot=0x06 */ +{ + set_info(0x020C, *(arg_06)); + process_exclude(); + FREE.slot_35(arg_0C, arg_0A); + if (!retval) { + return; + } + else { + local_02 = Item.getFrame(arg_06); + if (!(local_02 & 1)) { + return; + } + else { + local_04 = arg_0A; + if ((Item.getSurfaceWeight(arg_06) == 0) || (Item.isCentreOn(*(arg_06), local_04) != 0)) { + return; + } + else if (Item.getMapNum(arg_06) == 0) { + spawn TRIGGER.slot_20(pid, 0, *(arg_06), arg_06); + suspend; + while (!(1)) { + if (Item.getSurfaceWeight(arg_06) == 0) { + spawn FREE.slot_3B(pid, 2, 0x00000000); + suspend; + } + else { + spawn TRIGGER.slot_20(pid, 1, *(arg_06), arg_06); + suspend; + return; + } + } + return; + } + else { + while (!(1)) { + if (Item.getSurfaceWeight(arg_06) == 0) { + spawn FREE.slot_3B(pid, 2, 0x00000000); + suspend; + } + else { + return; + } + } + } + } + } + return; +} + +/* ===== slot 0x0A equip ===== */ +function steplew_equip() /* entry=365 class_id=0x05CC slot=0x0A */ +{ + set_info(0x0211, *(arg_06)); + process_exclude(); + local_02 = Item.getFrame(arg_06); + if (!(local_02 & 1)) { + spawn FREE.slot_3B(pid, 2, 0x00000000); + suspend; + spawn TRIGGER.slot_20(pid, 1, *(arg_06), arg_06); + suspend; + return; + } + else { + spawn FREE.slot_3B(pid, 2, 0x00000000); + suspend; + spawn TRIGGER.slot_20(pid, 0, *(arg_06), arg_06); + suspend; + } + return; +} diff --git a/USECODE/REGRET/STEPLNS.unk b/USECODE/REGRET/STEPLNS.unk new file mode 100644 index 0000000..adbdf98 --- /dev/null +++ b/USECODE/REGRET/STEPLNS.unk @@ -0,0 +1,76 @@ + +/* synthesized appendix for STEPLNS */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x06 gotHit ===== */ +function steplns_gotHit() /* entry=366 class_id=0x05CD slot=0x06 */ +{ + set_info(0x020C, *(arg_06)); + process_exclude(); + FREE.slot_35(arg_0C, arg_0A); + if (!retval) { + return; + } + else { + local_02 = Item.getFrame(arg_06); + if (!(local_02 & 1)) { + return; + } + else { + local_04 = arg_0A; + if ((Item.getSurfaceWeight(arg_06) == 0) || (Item.isCentreOn(*(arg_06), local_04) != 0)) { + return; + } + else if (Item.getMapNum(arg_06) == 0) { + spawn TRIGGER.slot_20(pid, 0, *(arg_06), arg_06); + suspend; + while (!(1)) { + if (Item.getSurfaceWeight(arg_06) == 0) { + spawn FREE.slot_3B(pid, 2, 0x00000000); + suspend; + } + else { + spawn TRIGGER.slot_20(pid, 1, *(arg_06), arg_06); + suspend; + return; + } + } + return; + } + else { + while (!(1)) { + if (Item.getSurfaceWeight(arg_06) == 0) { + spawn FREE.slot_3B(pid, 2, 0x00000000); + suspend; + } + else { + return; + } + } + } + } + } + return; +} + +/* ===== slot 0x0A equip ===== */ +function steplns_equip() /* entry=366 class_id=0x05CD slot=0x0A */ +{ + set_info(0x0211, *(arg_06)); + process_exclude(); + local_02 = Item.getFrame(arg_06); + if (!(local_02 & 1)) { + spawn FREE.slot_3B(pid, 2, 0x00000000); + suspend; + spawn TRIGGER.slot_20(pid, 1, *(arg_06), arg_06); + suspend; + return; + } + else { + spawn FREE.slot_3B(pid, 2, 0x00000000); + suspend; + spawn TRIGGER.slot_20(pid, 0, *(arg_06), arg_06); + suspend; + } + return; +} diff --git a/USECODE/REGRET/STORMTRO.unk b/USECODE/REGRET/STORMTRO.unk new file mode 100644 index 0000000..578995b --- /dev/null +++ b/USECODE/REGRET/STORMTRO.unk @@ -0,0 +1,12 @@ + +/* synthesized appendix for STORMTRO */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x0E calledFromAnim ===== */ +function stormtro_calledFromAnim() /* entry=194 class_id=0x0371 slot=0x0E */ +{ + set_info(0x021A, *(arg_06)); + process_exclude(); + spawn NPCDEATH.slot_20(Intrinsic000D(arg_06), *(arg_06), arg_06); + return; +} diff --git a/USECODE/REGRET/SWITCH.unk b/USECODE/REGRET/SWITCH.unk new file mode 100644 index 0000000..1318eee --- /dev/null +++ b/USECODE/REGRET/SWITCH.unk @@ -0,0 +1,89 @@ + +/* synthesized appendix for SWITCH */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x20 slot_20 ===== */ +function switch_slot_20() /* entry=467 class_id=0x0A15 slot=0x20 */ +{ + set_info(0x0207, *(arg_06)); + local_02 = 0; + while (local_02 > 11) { + spawn FREE.slot_3B(pid, 10, 0x00000000); + suspend; + local_02 = (1 + local_02); + } + return; +} + +/* ===== slot 0x21 slot_21 ===== */ +function switch_slot_21() /* entry=467 class_id=0x0A15 slot=0x21 */ +{ + set_info(0x0207, *(arg_06)); + if (!Item.getFrame(arg_06)) { + local_02 = 0; + while (local_02 > 5) { + spawn FREE.slot_3B(pid, 3, 0x00000000); + suspend; + local_02 = (1 + local_02); + } + return; + } + else { + local_02 = 0; + while (local_02 > 5) { + spawn FREE.slot_3B(pid, 3, 0x00000000); + suspend; + local_02 = (1 + local_02); + } + } + return; +} + +/* ===== slot 0x22 slot_22 ===== */ +function switch_slot_22() /* entry=467 class_id=0x0A15 slot=0x22 */ +{ + set_info(0x0207, *(arg_06)); + local_01 = MainActor.hasKeycard(Item.getQLo(arg_06)); + if (Item.getFrame(arg_06) == 4) { + spawn FREE.slot_21(pid, 0x00AD, 0x00000000); + suspend; + spawn TRIGGER.slot_20(pid, 0, *(arg_06), arg_06); + suspend; + spawn FREE.slot_3B(pid, 1, 0x00000000); + suspend; + return; + } + else if (!World.getAlertActive()) { + spawn FREE.slot_21(pid, 0x0181, 0x00000000); + suspend; + if (UCMachine.rndRange(100, 0) <= 50) { + spawn FREE.slot_21(pid, 0x018D, 0x00000000); + suspend; + } + else { + spawn FREE.slot_21(pid, 0x018B, 0x00000000); + suspend; + } + return; + } + else if (!local_01) { + spawn FREE.slot_21(pid, 0x0183, 0x00000000); + suspend; + spawn FREE.slot_3B(pid, 1, 0x00000000); + suspend; + spawn TRIGGER.slot_20(pid, 0, *(arg_06), arg_06); + suspend; + return; + } + else { + spawn FREE.slot_21(pid, 0x0181, 0x00000000); + suspend; + spawn FREE.slot_21(pid, 0x018F, 0x00000000); + suspend; + spawn FREE.slot_3B(pid, 1, 0x00000000); + suspend; + spawn TRIGGER.slot_20(pid, 1, *(arg_06), arg_06); + suspend; + } + return; +} diff --git a/USECODE/REGRET/SWITCHEW.unk b/USECODE/REGRET/SWITCHEW.unk new file mode 100644 index 0000000..966c1ef --- /dev/null +++ b/USECODE/REGRET/SWITCHEW.unk @@ -0,0 +1,23 @@ + +/* synthesized appendix for SWITCHEW */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x01 use ===== */ +function switchew_use() /* entry=19 class_id=0x0061 slot=0x01 */ +{ + set_info(0x0207, *(arg_06)); + process_exclude(); + spawn SWITCH.slot_21(arg_06); + if (Item.getMapNum(arg_06) == 0) { + if (Item.getFrame(arg_06) == 0) { + spawn TRIGGER.slot_20(pid, 0, *(arg_06), arg_06); + suspend; + return; + } + else { + spawn TRIGGER.slot_20(pid, 1, *(arg_06), arg_06); + suspend; + } + } + return; +} diff --git a/USECODE/REGRET/SWITCHNS.unk b/USECODE/REGRET/SWITCHNS.unk new file mode 100644 index 0000000..8e168c6 --- /dev/null +++ b/USECODE/REGRET/SWITCHNS.unk @@ -0,0 +1,23 @@ + +/* synthesized appendix for SWITCHNS */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x01 use ===== */ +function switchns_use() /* entry=150 class_id=0x02A3 slot=0x01 */ +{ + set_info(0x0207, *(arg_06)); + process_exclude(); + spawn SWITCH.slot_21(arg_06); + if (Item.getMapNum(arg_06) == 0) { + if (Item.getFrame(arg_06) == 0) { + spawn TRIGGER.slot_20(pid, 0, *(arg_06), arg_06); + suspend; + return; + } + else { + spawn TRIGGER.slot_20(pid, 1, *(arg_06), arg_06); + suspend; + } + } + return; +} diff --git a/USECODE/REGRET/SYNTH_UNK_MANIFEST.tsv b/USECODE/REGRET/SYNTH_UNK_MANIFEST.tsv new file mode 100644 index 0000000..d1ad5a5 --- /dev/null +++ b/USECODE/REGRET/SYNTH_UNK_MANIFEST.tsv @@ -0,0 +1,478 @@ +class_name entry_index body_count debug_line_count mapped_line_count collision_count output_path +ALARMBOX 262 3 0 0 0 ALARMBOX.unk +ALARMHAT 325 1 0 0 0 ALARMHAT.unk +ALARM_EW 6 1 0 0 0 ALARM_EW.unk +ALARM_NS 14 1 0 0 0 ALARM_NS.unk +ALRMTRIG 340 1 0 0 0 ALRMTRIG.unk +ANDROID 199 1 0 0 0 ANDROID.unk +ART 237 1 0 0 0 ART.unk +AVATRON 170 1 0 0 0 AVATRON.unk +BARREL 446 1 0 0 0 BARREL.unk +BARRELEW 69 1 0 0 0 BARRELEW.unk +BARRELNS 68 1 0 0 0 BARRELNS.unk +BARRELNW 70 1 0 0 0 BARRELNW.unk +BARRELS 67 1 0 0 0 BARRELS.unk +BARRELSE 71 1 0 0 0 BARRELSE.unk +BARRELUP 44 1 0 0 0 BARRELUP.unk +BASEGUN 274 6 0 0 0 BASEGUN.unk +BBETTY 447 3 0 0 0 BBETTY.unk +BBOX 302 1 0 0 0 BBOX.unk +BETTY 128 1 0 0 0 BETTY.unk +BETTYUP 153 3 0 0 0 BETTYUP.unk +BIGCAN 173 1 0 0 0 BIGCAN.unk +BIGCOMEW 134 2 0 0 0 BIGCOMEW.unk +BIGCOMNS 133 2 0 0 0 BIGCOMNS.unk +BIGSWITC 407 1 0 0 0 BIGSWITC.unk +BLACK16 5 1 0 0 0 BLACK16.unk +BLACK8 1 1 0 0 0 BLACK8.unk +BLOOD 263 1 0 0 0 BLOOD.unk +BMPC 80 1 0 0 0 BMPC.unk +BOOTY 448 2 0 0 0 BOOTY.unk +BOUNCBOX 293 2 0 0 0 BOUNCBOX.unk +BOX_EW 25 1 0 0 0 BOX_EW.unk +BOX_NS 26 1 0 0 0 BOX_NS.unk +BRIDGE 474 7 0 0 0 BRIDGE.unk +BROKENCW 48 1 0 0 0 BROKENCW.unk +CAMERACO 96 3 0 0 0 CAMERACO.unk +CAMERAEW 117 3 0 0 0 CAMERAEW.unk +CAMERANS 98 3 0 0 0 CAMERANS.unk +CAMETRON 175 1 0 0 0 CAMETRON.unk +CAM_EW 99 5 0 0 0 CAM_EW.unk +CAM_NS 100 5 0 0 0 CAM_NS.unk +CARD_EW 177 2 0 0 0 CARD_EW.unk +CARD_NS 176 2 0 0 0 CARD_NS.unk +CATWALK1 38 1 0 0 0 CATWALK1.unk +CATWALK2 61 1 0 0 0 CATWALK2.unk +CHANGER 427 1 0 0 0 CHANGER.unk +CHEDITRO 201 1 0 0 0 CHEDITRO.unk +CHEMSUIT 167 1 0 0 0 CHEMSUIT.unk +CHEST_EW 321 2 0 0 0 CHEST_EW.unk +CHEST_NS 320 2 0 0 0 CHEST_NS.unk +CHEST_OE 317 2 0 0 0 CHEST_OE.unk +CHEST_ON 316 2 0 0 0 CHEST_ON.unk +CONGRESS 159 1 0 0 0 CONGRESS.unk +CONTAIN 449 1 0 0 0 CONTAIN.unk +CONT_EW 4 1 0 0 0 CONT_EW.unk +CONT_FL 11 1 0 0 0 CONT_FL.unk +CONT_NS 57 1 0 0 0 CONT_NS.unk +CONVEYOR 478 2 0 0 0 CONVEYOR.unk +CONVEY_E 63 2 0 0 0 CONVEY_E.unk +CONVEY_N 22 2 0 0 0 CONVEY_N.unk +CONVFLR 130 2 0 0 0 CONVFLR.unk +CONVFLR2 326 2 0 0 0 CONVFLR2.unk +CONV_EL 146 2 0 0 0 CONV_EL.unk +CONV_NL 145 2 0 0 0 CONV_NL.unk +COPY_EW 235 1 0 0 0 COPY_EW.unk +COPY_NS 236 1 0 0 0 COPY_NS.unk +COURIER 256 2 0 0 0 COURIER.unk +CRAZYEW 250 1 0 0 0 CRAZYEW.unk +CRAZYNS 356 1 0 0 0 CRAZYNS.unk +CRUMORPH 174 1 0 0 0 CRUMORPH.unk +CRUSADER 418 3 0 0 0 CRUSADER.unk +CRUZTRIG 191 1 0 0 0 CRUZTRIG.unk +CRU_MINE 55 2 0 0 0 CRU_MINE.unk +CRU_SPID 324 3 0 0 0 CRU_SPID.unk +CRYO1 377 2 0 0 0 CRYO1.unk +CRYO2 378 2 0 0 0 CRYO2.unk +CRYOBOX 379 3 0 0 0 CRYOBOX.unk +CRYOTRON 380 1 0 0 0 CRYOTRON.unk +CSPID 342 1 0 0 0 CSPID.unk +DAMNLUGG 352 1 0 0 0 DAMNLUGG.unk +DAMNMCR8 353 1 0 0 0 DAMNMCR8.unk +DATALINK 282 1 0 0 0 DATALINK.unk +DATAPICK 400 1 0 0 0 DATAPICK.unk +DEATHBOX 289 1 0 0 0 DEATHBOX.unk +DEL16 127 1 0 0 0 DEL16.unk +DEL8 59 1 0 0 0 DEL8.unk +DENNING 138 2 0 0 0 DENNING.unk +DETPAC 323 1 0 0 0 DETPAC.unk +DICOR1 171 1 0 0 0 DICOR1.unk +DICOR2 172 1 0 0 0 DICOR2.unk +DICOR3 43 1 0 0 0 DICOR3.unk +DISRUPT 401 1 0 0 0 DISRUPT.unk +DOOR 450 4 0 0 0 DOOR.unk +DOOR2 451 50 0 0 0 DOOR2.unk +DOOR3 452 37 0 0 0 DOOR3.unk +DOOR4 453 2 0 0 0 DOOR4.unk +DOOREGG 429 4 0 0 0 DOOREGG.unk +DUCK_EW 87 4 0 0 0 DUCK_EW.unk +DUCK_NS 85 4 0 0 0 DUCK_NS.unk +D_BARREL 129 1 0 0 0 D_BARREL.unk +D_CHEM 264 2 0 0 0 D_CHEM.unk +D_CONG 265 2 0 0 0 D_CONG.unk +D_COUR 270 1 0 0 0 D_COUR.unk +D_EM_GUY 351 2 0 0 0 D_EM_GUY.unk +D_ENFOR2 410 1 0 0 0 D_ENFOR2.unk +D_ENFORC 322 2 0 0 0 D_ENFORC.unk +D_ESTORM 280 2 0 0 0 D_ESTORM.unk +D_FLAMEX 416 2 0 0 0 D_FLAMEX.unk +D_FREIGH 187 2 0 0 0 D_FREIGH.unk +D_GRENAD 318 2 0 0 0 D_GRENAD.unk +D_HQ2 395 1 0 0 0 D_HQ2.unk +D_HQGUAR 389 2 0 0 0 D_HQGUAR.unk +D_KNENFO 413 2 0 0 0 D_KNENFO.unk +D_KNHQ 398 2 0 0 0 D_KNHQ.unk +D_KNSTOR 412 2 0 0 0 D_KNSTOR.unk +D_LMC2 374 1 0 0 0 D_LMC2.unk +D_LMC_KN 396 2 0 0 0 D_LMC_KN.unk +D_LMC_ST 397 2 0 0 0 D_LMC_ST.unk +D_LNR 409 2 0 0 0 D_LNR.unk +D_MAINT 266 2 0 0 0 D_MAINT.unk +D_NMINE 399 2 0 0 0 D_NMINE.unk +D_OWORK 267 2 0 0 0 D_OWORK.unk +D_PLASMA 347 2 0 0 0 D_PLASMA.unk +D_ROBO 357 1 0 0 0 D_ROBO.unk +D_SCIEN 268 2 0 0 0 D_SCIEN.unk +D_SITMAN 37 1 0 0 0 D_SITMAN.unk +D_SKELET 349 2 0 0 0 D_SKELET.unk +D_STORM 269 2 0 0 0 D_STORM.unk +D_STORM2 411 1 0 0 0 D_STORM2.unk +D_SUSAN 271 1 0 0 0 D_SUSAN.unk +D_TANKEW 257 1 0 0 0 D_TANKEW.unk +D_TANKNS 258 1 0 0 0 D_TANKNS.unk +D_THERM 272 1 0 0 0 D_THERM.unk +EBRIDGE 208 2 0 0 0 EBRIDGE.unk +EBRIDGE2 226 2 0 0 0 EBRIDGE2.unk +EGRENADE 305 1 0 0 0 EGRENADE.unk +ELEEW16 3 2 0 0 0 ELEEW16.unk +ELEEW4 92 2 0 0 0 ELEEW4.unk +ELEEW8 56 2 0 0 0 ELEEW8.unk +ELENS16 2 2 0 0 0 ELENS16.unk +ELENS4 93 2 0 0 0 ELENS4.unk +ELENS8 58 2 0 0 0 ELENS8.unk +ELEVAT 454 6 0 0 0 ELEVAT.unk +ELEVATOR 83 3 0 0 0 ELEVATOR.unk +ELEVPLAT 60 4 0 0 0 ELEVPLAT.unk +ELITE 279 1 0 0 0 ELITE.unk +ELY 186 1 0 0 0 ELY.unk +ENERGY 341 1 0 0 0 ENERGY.unk +ENFORCER 95 1 0 0 0 ENFORCER.unk +ESPACE 178 2 0 0 0 ESPACE.unk +ESPACE2 144 2 0 0 0 ESPACE2.unk +EVENT 188 1 0 0 0 EVENT.unk +EWALLEW 328 3 0 0 0 EWALLEW.unk +EWALLNS 327 3 0 0 0 EWALLNS.unk +EYECAMEW 136 5 0 0 0 EYECAMEW.unk +EYECAMNS 135 5 0 0 0 EYECAMNS.unk +FADE 296 2 0 0 0 FADE.unk +FALLINGC 18 1 0 0 0 FALLINGC.unk +FFFLOOR 64 3 0 0 0 FFFLOOR.unk +FFFLOOR2 104 3 0 0 0 FFFLOOR2.unk +FIREEGG 423 1 0 0 0 FIREEGG.unk +FLAME1 240 2 0 0 0 FLAME1.unk +FLAME2 298 2 0 0 0 FLAME2.unk +FLAMEBOX 225 3 0 0 0 FLAMEBOX.unk +FLAMELP 300 2 0 0 0 FLAMELP.unk +FLICTEST 456 2 0 0 0 FLICTEST.unk +FLOAT 339 4 0 0 0 FLOAT.unk +FLOOR1 421 2 0 0 0 FLOOR1.unk +FLORMINE 149 3 0 0 0 FLORMINE.unk +FREE 475 43 0 0 0 FREE.unk +FREEZ 375 1 0 0 0 FREEZ.unk +FREEZEXP 384 3 0 0 0 FREEZEXP.unk +FREIGHTE 200 1 0 0 0 FREIGHTE.unk +FRGUNEW 387 4 0 0 0 FRGUNEW.unk +FRGUNNS 388 4 0 0 0 FRGUNNS.unk +FRI_EW 15 1 0 0 0 FRI_EW.unk +FRI_NS 156 1 0 0 0 FRI_NS.unk +FUSREACT 101 2 0 0 0 FUSREACT.unk +FUS_PAC 206 1 0 0 0 FUS_PAC.unk +GATGUNEW 54 5 0 0 0 GATGUNEW.unk +GATGUNNS 51 5 0 0 0 GATGUNNS.unk +GBOX_EW 304 1 0 0 0 GBOX_EW.unk +GBOX_NS 303 1 0 0 0 GBOX_NS.unk +GENERATR 219 1 0 0 0 GENERATR.unk +GLASS_EW 140 1 0 0 0 GLASS_EW.unk +GLASS_NS 165 1 0 0 0 GLASS_NS.unk +GLDIV_EW 313 1 0 0 0 GLDIV_EW.unk +GLDIV_NS 314 1 0 0 0 GLDIV_NS.unk +GOVGUNEW 207 5 0 0 0 GOVGUNEW.unk +GOVGUNNS 204 5 0 0 0 GOVGUNNS.unk +GRATE_EW 53 1 0 0 0 GRATE_EW.unk +GRATE_NS 346 1 0 0 0 GRATE_NS.unk +GRAVITON 309 1 0 0 0 GRAVITON.unk +GRENADE 181 2 0 0 0 GRENADE.unk +GRENEGG 428 1 0 0 0 GRENEGG.unk +GTELEPAD 52 2 0 0 0 GTELEPAD.unk +G_POOL 75 1 0 0 0 G_POOL.unk +HOLO 355 4 0 0 0 HOLO.unk +HOVER 457 5 0 0 0 HOVER.unk +HOVER1 294 4 0 0 0 HOVER1.unk +HQGUARD 338 1 0 0 0 HQGUARD.unk +IONIC 307 1 0 0 0 IONIC.unk +ITEM 458 17 0 0 0 ITEM.unk +JELYH2 283 1 0 0 0 JELYH2.unk +JELYHACK 281 1 0 0 0 JELYHACK.unk +JOHN 94 2 0 0 0 JOHN.unk +JUICEEW 360 3 0 0 0 JUICEEW.unk +JUICEFL 358 3 0 0 0 JUICEFL.unk +JUICENS 359 3 0 0 0 JUICENS.unk +KEYPAD 459 1 0 0 0 KEYPAD.unk +KEYPADEW 247 2 0 0 0 KEYPADEW.unk +KEYPADNS 246 2 0 0 0 KEYPADNS.unk +KORESH 337 2 0 0 0 KORESH.unk +LANDMINE 205 2 0 0 0 LANDMINE.unk +LASERI 116 1 0 0 0 LASERI.unk +LAZER 460 2 0 0 0 LAZER.unk +LAZEREW 89 4 0 0 0 LAZEREW.unk +LAZERNS 88 4 0 0 0 LAZERNS.unk +LIFT 62 4 0 0 0 LIFT.unk +LIFTPIT 158 1 0 0 0 LIFTPIT.unk +LIFT_EW 408 5 0 0 0 LIFT_EW.unk +LIFT_NS 417 5 0 0 0 LIFT_NS.unk +LMC_EW 334 1 0 0 0 LMC_EW.unk +LMC_GUAR 169 1 0 0 0 LMC_GUAR.unk +LMC_NS 335 1 0 0 0 LMC_NS.unk +LUGGAGE 32 1 0 0 0 LUGGAGE.unk +L_EW-16 114 4 0 0 0 L_EW16.unk +L_EW-2 111 4 0 0 0 L_EW2.unk +L_EW-4 112 4 0 0 0 L_EW4.unk +L_EW-8 113 4 0 0 0 L_EW8.unk +L_NS-16 110 4 0 0 0 L_NS16.unk +L_NS-2 106 4 0 0 0 L_NS2.unk +L_NS-4 107 4 0 0 0 L_NS4.unk +L_NS-8 109 4 0 0 0 L_NS8.unk +MAINTMAN 166 1 0 0 0 MAINTMAN.unk +MALRM_EW 137 1 0 0 0 MALRM_EW.unk +MALRM_NS 78 1 0 0 0 MALRM_NS.unk +MBARREL 120 2 0 0 0 MBARREL.unk +MBGUNEW 385 4 0 0 0 MBGUNEW.unk +MBGUNNS 386 4 0 0 0 MBGUNNS.unk +MCRATE 234 1 0 0 0 MCRATE.unk +MDESKEW 115 1 0 0 0 MDESKEW.unk +MDESKNS 119 1 0 0 0 MDESKNS.unk +MEATY 139 2 0 0 0 MEATY.unk +MEDIKIT 184 1 0 0 0 MEDIKIT.unk +MED_BACK 74 1 0 0 0 MED_BACK.unk +MED_FLOR 161 2 0 0 0 MED_FLOR.unk +MED_LITE 160 1 0 0 0 MED_LITE.unk +MED_SIDE 162 1 0 0 0 MED_SIDE.unk +MELF 218 1 0 0 0 MELF.unk +MFAN_EW 124 1 0 0 0 MFAN_EW.unk +MFAN_NS 123 1 0 0 0 MFAN_NS.unk +MGR_EW 151 1 0 0 0 MGR_EW.unk +MGR_NS 147 1 0 0 0 MGR_NS.unk +MGUNEW 403 4 0 0 0 MGUNEW.unk +MGUNNS 402 4 0 0 0 MGUNNS.unk +MHATCHER 424 1 0 0 0 MHATCHER.unk +MINEDET 404 1 0 0 0 MINEDET.unk +MINEGEN 185 1 0 0 0 MINEGEN.unk +MINELET 148 3 0 0 0 MINELET.unk +MINEPAD 163 2 0 0 0 MINEPAD.unk +MINE_IR 7 3 0 0 0 MINE_IR.unk +MINE_S 312 2 0 0 0 MINE_S.unk +MINE_SPI 21 3 0 0 0 MINE_SPI.unk +MISS1 431 2 0 0 0 MISS1.unk +MISS10 440 2 0 0 0 MISS10.unk +MISS2 432 2 0 0 0 MISS2.unk +MISS3 433 2 0 0 0 MISS3.unk +MISS4 434 2 0 0 0 MISS4.unk +MISS5 435 2 0 0 0 MISS5.unk +MISS6 436 2 0 0 0 MISS6.unk +MISS7 437 2 0 0 0 MISS7.unk +MISS8 438 2 0 0 0 MISS8.unk +MISS9 439 2 0 0 0 MISS9.unk +MLGUNEW 406 4 0 0 0 MLGUNEW.unk +MLGUNNS 405 4 0 0 0 MLGUNNS.unk +MONITEW 77 2 0 0 0 MONITEW.unk +MONITNS 50 2 0 0 0 MONITNS.unk +MONSTER 278 2 0 0 0 MONSTER.unk +MOON_EW 333 1 0 0 0 MOON_EW.unk +MOON_NS 336 1 0 0 0 MOON_NS.unk +MORPH_1 390 2 0 0 0 MORPH_1.unk +MORPH_2 391 2 0 0 0 MORPH_2.unk +MORPH_3 392 3 0 0 0 MORPH_3.unk +MORPH_4 393 2 0 0 0 MORPH_4.unk +MORPH_5 394 3 0 0 0 MORPH_5.unk +MOVEFLOR 42 4 0 0 0 MOVEFLOR.unk +MTELEPAD 81 2 0 0 0 MTELEPAD.unk +NMINER 285 1 0 0 0 NMINER.unk +NOSTRIL 242 3 0 0 0 NOSTRIL.unk +NPC 461 18 0 0 0 NPC.unk +NPCDEATH 462 1 0 0 0 NPCDEATH.unk +NPC_ONLY 192 1 0 0 0 NPC_ONLY.unk +OFFWORK 168 1 0 0 0 OFFWORK.unk +ONCEEGG 420 2 0 0 0 ONCEEGG.unk +PANELEW 41 1 0 0 0 PANELEW.unk +PANELNS 40 1 0 0 0 PANELNS.unk +PDOOR2EW 196 1 0 0 0 PDOOR2EW.unk +PDOOR2NS 189 1 0 0 0 PDOOR2NS.unk +PDOOR3EW 310 1 0 0 0 PDOOR3EW.unk +PDOOR3NS 20 1 0 0 0 PDOOR3NS.unk +PEPSIEW 36 2 0 0 0 PEPSIEW.unk +PEPSINS 39 2 0 0 0 PEPSINS.unk +PIPRAK 13 1 0 0 0 PIPRAK.unk +PIPRAK1 12 1 0 0 0 PIPRAK1.unk +PIT 190 1 0 0 0 PIT.unk +PLASMA 308 1 0 0 0 PLASMA.unk +PORBETTY 414 1 0 0 0 PORBETTY.unk +POWEREG 443 3 0 0 0 POWEREG.unk +POWERGEN 142 3 0 0 0 POWERGEN.unk +PPLATE2 86 2 0 0 0 PPLATE2.unk +PSAFE_EW 311 1 0 0 0 PSAFE_EW.unk +PSAFE_NS 16 1 0 0 0 PSAFE_NS.unk +PUFLOOR1 364 2 0 0 0 PUFLOOR1.unk +PUFLOOR2 363 2 0 0 0 PUFLOOR2.unk +PUFLOOR3 367 2 0 0 0 PUFLOOR3.unk +PUFLOOR4 368 2 0 0 0 PUFLOOR4.unk +PUFLOOR5 369 2 0 0 0 PUFLOOR5.unk +PUFLOOR6 370 2 0 0 0 PUFLOOR6.unk +PUFLOOR7 371 2 0 0 0 PUFLOOR7.unk +PUFLOOR8 372 2 0 0 0 PUFLOOR8.unk +PUFLOOR9 373 2 0 0 0 PUFLOOR9.unk +PUFLOR10 415 2 0 0 0 PUFLOR10.unk +PU_GUN 361 6 0 0 0 PU_GUN.unk +R2D2 97 3 0 0 0 R2D2.unk +RADAR 90 1 0 0 0 RADAR.unk +RADARBAS 198 4 0 0 0 RADARBAS.unk +RADIOEG 444 3 0 0 0 RADIOEG.unk +RADIOGEN 354 2 0 0 0 RADIOGEN.unk +RAILBASE 383 4 0 0 0 RAILBASE.unk +RAILGUN 382 6 0 0 0 RAILGUN.unk +REBEL 441 3 0 0 0 REBEL.unk +RE_BACK 72 1 0 0 0 RE_BACK.unk +RE_BOOTH 73 1 0 0 0 RE_BOOTH.unk +RE_FLOOR 66 2 0 0 0 RE_FLOOR.unk +RE_SIDE 65 1 0 0 0 RE_SIDE.unk +RFANBADE 220 2 0 0 0 RFANBADE.unk +RFANBADN 221 2 0 0 0 RFANBADN.unk +RFANEW 17 3 0 0 0 RFANEW.unk +RFANNS 47 3 0 0 0 RFANNS.unk +ROAMING 155 1 0 0 0 ROAMING.unk +ROLLB_EW 345 6 0 0 0 ROLLB_EW.unk +ROLLB_NS 343 6 0 0 0 ROLLB_NS.unk +ROLLROUN 239 1 0 0 0 ROLLROUN.unk +ROLL_EW 331 6 0 0 0 ROLL_EW.unk +ROLL_NS 183 6 0 0 0 ROLL_NS.unk +RSTATION 91 1 0 0 0 RSTATION.unk +RTELEPAD 79 2 0 0 0 RTELEPAD.unk +R_SHIELD 84 1 0 0 0 R_SHIELD.unk +SAFE_EW 126 1 0 0 0 SAFE_EW.unk +SAFE_FLR 244 1 0 0 0 SAFE_FLR.unk +SAFE_NS 125 1 0 0 0 SAFE_NS.unk +SATARG 315 1 0 0 0 SATARG.unk +SBIG_EW 10 1 0 0 0 SBIG_EW.unk +SBIG_NS 23 1 0 0 0 SBIG_NS.unk +SCANNER 306 2 0 0 0 SCANNER.unk +SCIENTIS 182 1 0 0 0 SCIENTIS.unk +SCIGUNEW 381 4 0 0 0 SCIGUNEW.unk +SCIGUNNS 362 4 0 0 0 SCIGUNNS.unk +SCI_CAT1 233 1 0 0 0 SCI_CAT1.unk +SCI_CAT2 252 1 0 0 0 SCI_CAT2.unk +SCI_EW 216 1 0 0 0 SCI_EW.unk +SCI_NS 217 1 0 0 0 SCI_NS.unk +SEATLADY 350 1 0 0 0 SEATLADY.unk +SEATWORK 348 1 0 0 0 SEATWORK.unk +SECADA 259 2 0 0 0 SECADA.unk +SECRTEGG 430 1 0 0 0 SECRTEGG.unk +SECUREW 241 4 0 0 0 SECUREW.unk +SECURNS 224 4 0 0 0 SECURNS.unk +SENTRY 108 6 0 0 0 SENTRY.unk +SFXTRIG 286 1 0 0 0 SFXTRIG.unk +SHEPHERD 260 2 0 0 0 SHEPHERD.unk +SHOCKER 464 2 0 0 0 SHOCKER.unk +SHOCKEW 103 3 0 0 0 SHOCKEW.unk +SHOCKEW1 255 3 0 0 0 SHOCKEW1.unk +SHOCKNS 105 3 0 0 0 SHOCKNS.unk +SHOCKNS1 254 3 0 0 0 SHOCKNS1.unk +SIGNEW 45 1 0 0 0 SIGNEW.unk +SIGNNS 46 1 0 0 0 SIGNNS.unk +SKILLBOX 287 1 0 0 0 SKILLBOX.unk +SKILLONE 425 1 0 0 0 SKILLONE.unk +SKILLTWO 426 1 0 0 0 SKILLTWO.unk +SLIDEEW 261 2 0 0 0 SLIDEEW.unk +SLIDENS 141 2 0 0 0 SLIDENS.unk +SL_EW-16 215 2 0 0 0 SL_EW16.unk +SL_EW-4 213 2 0 0 0 SL_EW4.unk +SL_EW-8 214 2 0 0 0 SL_EW8.unk +SL_NS-16 210 2 0 0 0 SL_NS16.unk +SL_NS-4 212 2 0 0 0 SL_NS4.unk +SL_NS-8 211 2 0 0 0 SL_NS8.unk +SMALCHAI 122 1 0 0 0 SMALCHAI.unk +SMALLTAB 8 1 0 0 0 SMALLTAB.unk +SPANEL 209 1 0 0 0 SPANEL.unk +SPECIAL 276 5 0 0 0 SPECIAL.unk +SPIDER 465 5 0 0 0 SPIDER.unk +SPIDPAD 203 2 0 0 0 SPIDPAD.unk +SPIDWALK 202 2 0 0 0 SPIDWALK.unk +SSBOX_EW 152 1 0 0 0 SSBOX_EW.unk +SSBOX_NS 154 1 0 0 0 SSBOX_NS.unk +SSWITCHE 253 2 0 0 0 SSWITCHE.unk +SSWITCHN 251 2 0 0 0 SSWITCHN.unk +STABLE 157 1 0 0 0 STABLE.unk +STATICEW 197 2 0 0 0 STATICEW.unk +STATICNS 132 2 0 0 0 STATICNS.unk +STEAM 466 6 0 0 0 STEAM.unk +STEAM1 295 2 0 0 0 STEAM1.unk +STEAM2 299 2 0 0 0 STEAM2.unk +STEAMBOX 297 3 0 0 0 STEAMBOX.unk +STEAMEGG 422 1 0 0 0 STEAMEGG.unk +STELEPAD 49 2 0 0 0 STELEPAD.unk +STEPLEW 365 2 0 0 0 STEPLEW.unk +STEPLNS 366 2 0 0 0 STEPLNS.unk +STORMTRO 194 1 0 0 0 STORMTRO.unk +SWITCH 467 3 0 0 0 SWITCH.unk +SWITCHEW 19 1 0 0 0 SWITCHEW.unk +SWITCHNS 150 1 0 0 0 SWITCHNS.unk +S_CHAIR 121 1 0 0 0 S_CHAIR.unk +TELEPAD 118 4 0 0 0 TELEPAD.unk +TEXTFIL1 477 1 0 0 0 TEXTFIL1.unk +TEXTFIL2 479 1 0 0 0 TEXTFIL2.unk +TEXTFIL3 476 1 0 0 0 TEXTFIL3.unk +TEXTFILE 468 4 0 0 0 TEXTFILE.unk +THERMAL1 291 1 0 0 0 THERMAL1.unk +THERMAL2 290 1 0 0 0 THERMAL2.unk +THERMATR 180 1 0 0 0 THERMATR.unk +THRMBCKE 330 1 0 0 0 THRMBCKE.unk +THRMBCKN 329 1 0 0 0 THRMBCKN.unk +TIMER 275 4 0 0 0 TIMER.unk +TRAMFLOR 376 3 0 0 0 TRAMFLOR.unk +TRANSFOR 102 2 0 0 0 TRANSFOR.unk +TRIGEGG 419 2 0 0 0 TRIGEGG.unk +TRIGGER 469 12 0 0 0 TRIGGER.unk +TRIGPAD 277 1 0 0 0 TRIGPAD.unk +TURBINE1 319 1 0 0 0 TURBINE1.unk +TURBINEW 143 1 0 0 0 TURBINEW.unk +TURBINNS 82 1 0 0 0 TURBINNS.unk +TUR_EW 243 1 0 0 0 TUR_EW.unk +TUR_NS 301 1 0 0 0 TUR_NS.unk +UPPLATE 245 1 0 0 0 UPPLATE.unk +VALBOX 470 1 0 0 0 VALBOX.unk +VALUEBOX 131 2 0 0 0 VALUEBOX.unk +VALVE 9 1 0 0 0 VALVE.unk +VETRON 288 1 0 0 0 VETRON.unk +VIDEOBOX 332 1 0 0 0 VIDEOBOX.unk +VIDEOEGG 442 1 0 0 0 VIDEOEGG.unk +VIR 292 2 0 0 0 VIR.unk +V_LASER 344 1 0 0 0 V_LASER.unk +V_LASER1 227 1 0 0 0 V_LASER1.unk +V_LASER2 231 1 0 0 0 V_LASER2.unk +V_LASER4 230 1 0 0 0 V_LASER4.unk +V_LASER6 229 1 0 0 0 V_LASER6.unk +V_LASER8 228 1 0 0 0 V_LASER8.unk +V_LASERS 232 1 0 0 0 V_LASERS.unk +WALGUNEW 195 5 0 0 0 WALGUNEW.unk +WALGUNNS 164 5 0 0 0 WALGUNNS.unk +WALLGUN 471 40 0 0 0 WALLGUN.unk +WALLGUN2 472 4 0 0 0 WALLGUN2.unk +WALLMEW 238 1 0 0 0 WALLMEW.unk +WALLMNS 193 1 0 0 0 WALLMNS.unk +WARNING 445 1 0 0 0 WARNING.unk +WATCHEW 284 5 0 0 0 WATCHEW.unk +WATCHNS 273 5 0 0 0 WATCHNS.unk +WINDSURF 179 4 0 0 0 WINDSURF.unk +WSHOCKEW 249 3 0 0 0 WSHOCKEW.unk +WSHOCKNS 248 3 0 0 0 WSHOCKNS.unk +WVENTEW 223 2 0 0 0 WVENTEW.unk +WVENTNS 222 2 0 0 0 WVENTNS.unk +YELRAIL 473 1 0 0 0 YELRAIL.unk +YR16X6EW 27 1 0 0 0 YR16X6EW.unk +YR16X6NS 28 1 0 0 0 YR16X6NS.unk +YR1X1 35 1 0 0 0 YR1X1.unk +YR2X6EW 24 1 0 0 0 YR2X6EW.unk +YR2X6NS 31 1 0 0 0 YR2X6NS.unk +YR4X6EW 34 1 0 0 0 YR4X6EW.unk +YR4X6NS 30 1 0 0 0 YR4X6NS.unk +YR8X6EW 33 1 0 0 0 YR8X6EW.unk +YR8X6NS 29 1 0 0 0 YR8X6NS.unk +Y_POOL 76 1 0 0 0 Y_POOL.unk diff --git a/USECODE/REGRET/S_CHAIR.unk b/USECODE/REGRET/S_CHAIR.unk new file mode 100644 index 0000000..618bd22 --- /dev/null +++ b/USECODE/REGRET/S_CHAIR.unk @@ -0,0 +1,50 @@ + +/* synthesized appendix for S_CHAIR */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x06 gotHit ===== */ +function s_chair_gotHit() /* entry=121 class_id=0x01E2 slot=0x06 */ +{ + set_info(0x020C, *(arg_06)); + process_exclude(); + local_02 = Item.getFrame(arg_06); + if (local_02 <= 7) { + return; + } + else { + FREE.slot_35(arg_0C, arg_0A); + if (!retval) { + FREE.slot_20(10); + local_08 = (retval + 5); + FREE.slot_20(1); + local_0A = retval; + if (local_0A == 0) { + local_06 = 1; + while (local_06 > local_08) { + local_02 = (local_02 + 1); + if (local_02 == 8) { + local_02 = 0; + } + spawn FREE.slot_3B(pid, 5, 0x00000000); + suspend; + local_06 = (1 + local_06); + } + return; + } + else if (local_0A == 1) { + local_06 = 1; + while (local_06 > local_08) { + local_02 = (local_02 - 1); + if (local_02 == -1) { + local_02 = 7; + } + spawn FREE.slot_3B(pid, 5, 0x00000000); + suspend; + local_06 = (1 + local_06); + } + return; + } + } + } + return; +} diff --git a/USECODE/REGRET/TELEPAD.unk b/USECODE/REGRET/TELEPAD.unk new file mode 100644 index 0000000..c28369c --- /dev/null +++ b/USECODE/REGRET/TELEPAD.unk @@ -0,0 +1,174 @@ + +/* synthesized appendix for TELEPAD */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x06 gotHit ===== */ +function telepad_gotHit() /* entry=118 class_id=0x01DB slot=0x06 */ +{ + set_info(0x020C, *(arg_06)); + process_exclude(); + local_02 = arg_0A; + local_04 = *(arg_06); + local_08 = Item.getQLo(local_04); + set_info(1, 0); + spawn FREE.slot_3B(pid, 1, 0x00000000); + suspend; + FREE.slot_35(arg_0C, arg_0A); + if ((retval <= 0) || (Item.getFrame(local_04) > 1)) { + return; + } + else if (Ultima8Engine.getUnkCrusaderFlag() == 1) { + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x3A */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xF6 string_bytes=0x6 loop_type=0x6 */ + while (!condition) { + /* loopnext */ + } + return; + } + else if (Item.isCentreOn(*(arg_06), local_02)) { + return; + } + else { + /* global_address global_id=0x1E */ + if (Item.getShape((local_02 == 1)) != 1) { + if (local_08 == 0x00FF) { + return; + } + else { + /* pop_global global_id=0x9 size=0x1 */ + if ((local_08 > 0) && (local_08 >= 100)) { + /* global_address global_id=0x1E */ + spawn TELEPAD.slot_20(Actor.getMap(local_08), arg_06); + return; + } + else if (local_08 == 109) { + spawn TELEPAD.slot_20(109, 20, arg_06); + return; + } + else if (local_08 == 110) { + spawn TELEPAD.slot_20(111, 21, arg_06); + return; + } + else if (local_08 == 111) { + spawn TELEPAD.slot_20(65, 20, arg_06); + return; + } + else if (local_08 == 112) { + spawn TELEPAD.slot_20(66, 20, arg_06); + return; + } + else if (local_08 == 113) { + spawn TELEPAD.slot_20(30, 3, arg_06); + return; + } + else if (local_08 == 114) { + spawn TELEPAD.slot_20(30, 22, arg_06); + return; + } + else if (local_08 == 115) { + spawn TELEPAD.slot_20(115, 20, arg_06); + return; + } + else { + /* str_to_ptr */ + /* free_stack_string value_u8=0x4 target=[SP+04h] */ + suspend; + return; + } + } + } + } + return; +} + +/* ===== slot 0x09 release ===== */ +function telepad_release() /* entry=118 class_id=0x01DB slot=0x09 */ +{ + set_info(0x020D, *(arg_06)); + process_exclude(); + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x3A */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xFE string_bytes=0x6 loop_type=0x6 */ + while (!condition) { + if (local_02 == 1) { + local_03 = 1; + } + /* loopnext */ + } + return; +} + +/* ===== slot 0x0F enterFastArea ===== */ +function telepad_enterFastArea() /* entry=118 class_id=0x01DB slot=0x0F */ +{ + set_info(0x021B, *(arg_06)); + process_exclude(); + return; +} + +/* ===== slot 0x20 slot_20 ===== */ +function telepad_slot_20() /* entry=118 class_id=0x01DB slot=0x20 */ +{ + set_info(1, 0); + /* global_address global_id=0x1E */ + if (!Actor.isDead()) { + return; + } + else { + /* global_address global_id=0x1E */ + /* pop_global global_id=0xB size=0x1 */ + /* pop_global global_id=0xC size=0x1 */ + spawn FREE.slot_3B(0, 0, pid, 0, 0x00000000); + suspend; + FREE.slot_3C(0x0215, 0); + FREE.slot_3C(0x0228, 0); + /* global_address global_id=0x1E */ + while (!Actor.isBusy()) { + spawn FREE.slot_3B(pid, 2, 0x00000000); + suspend; + } + /* global_address global_id=0x1E */ + if (!Intrinsic0061()) { + /* global_address global_id=0x1E */ + /* global_address global_id=0x1E */ + suspend; + } + /* global_address global_id=0x1E */ + spawn NPC.slot_24(pid); + suspend; + /* global_address global_id=0x1E */ + if (Actor.getMap() == arg_0A) { + suspend; + FREE.slot_22(); + if (arg_0A == 3) { + spawn FREE.slot_3B(pid, 120, 0x00000000); + suspend; + /* str_to_ptr */ + /* free_stack_string value_u8=0x0 target=[SP+00h] */ + /* str_to_ptr */ + /* free_stack_string value_u8=0x0 target=[SP+00h] */ + return; + } + if (!arg_0A) { + suspend; + } + FREE.slot_23(); + /* global_address global_id=0x1E */ + /* global_address global_id=0x1E */ + suspend; + } + else { + suspend; + } + /* global_address global_id=0x1E */ + spawn NPC.slot_23(pid); + suspend; + /* global_address global_id=0x1E */ + } + return; +} diff --git a/USECODE/REGRET/TEXTFIL1.unk b/USECODE/REGRET/TEXTFIL1.unk new file mode 100644 index 0000000..d79481c --- /dev/null +++ b/USECODE/REGRET/TEXTFIL1.unk @@ -0,0 +1,329 @@ + +/* synthesized appendix for TEXTFIL1 */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x20 slot_20 ===== */ +function textfil1_slot_20() /* entry=477 class_id=0x0A1F slot=0x20 */ +{ + if (arg_0C == 60) { + if (!(arg_0A && arg_0E)) { + /* concat */ + /* concat */ + /* concat */ + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = "Thank you. "; + } + else { + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = "The laser barriers ^have now been ^deactivated. "; + } + } + else if (arg_0C == 61) { + if (!(arg_0A && arg_0E)) { + /* concat */ + /* concat */ + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = "."; + } + else { + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = "61 Generic - ^No Passcode "; + } + } + else if (arg_0C == 62) { + if (!(arg_0A && arg_0E)) { + /* concat */ + /* concat */ + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = ". "; + } + else { + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = "62 Generic - ^No Passcode "; + } + } + else if (arg_0C == 63) { + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = "Vetron is unable to^comply to control ^request. "; + } + else if (arg_0C == 64) { + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = "Vetron Status: Busy"; + } + else if (arg_0C == 65) { + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = "Taking control of ^Vetron "; + } + else if (arg_0C == 66) { + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = "Retaking control of^Vetron "; + } + else if (arg_0C == 67) { + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = "Now in phase 1 of ^laser deactivation."; + } + else if (arg_0C == 68) { + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = "Phase 2 of laser ^deactivation is now^entered. "; + } + else if (arg_0C == 69) { + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = "The lasers have ^been temporarily ^deactivated. "; + } + else if (arg_0C == 70) { + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = "SECURITY ACCESS NOW^DENIED *.*.*.* ^^Anti-saboteur ^precautions now in ^effect. "; + } + else if (arg_0C == 71) { + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = "Alan, ^please remember to ^lock the safe ^tonight. ^^You know as well as^I do that Leach ^will have our heads^if those security ^cards disappear. ^^Chuck"; + } + else if (arg_0C == 72) { + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = "LMC SECURITY ^DIVISION: ^^------------ ^^ACCESSING DATABASE:^^Permission to ^activate CAMETRON ^534A *.*.*.* ^^<> "; + } + else if (arg_0C == 73) { + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = "LMC SECURITY ^DIVISION: ^^------------ ^^ACCESSING DATABASE:^^Permission to ^activate CAMETRON ^534A *.*.*.* ^^<> "; + } + else if (arg_0C == 74) { + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = "Alright, Isaac, ^I solved your ^little puzzle. ^^Now I've changed ^the passcode to the^closet. I hope you ^know the exact ^temperature at ^which paper burns.^^Bradbury."; + } + else if (arg_0C == 75) { + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = "LMC SECURITY SYSTEM^NETLINK ACCESS:*.*^^Now resetting the ^anti-saboteur ^precautions. "; + } + else if (arg_0C == 80) { + if (!World.getAlertActive()) { + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = "LMC SECURITY SYSTEM^Unable to access ^PG445 *.*.*.* ^^Red Alert is in ^progress "; + } + else { + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = "LMC SECURITY SYSTEM^Accessing PG445 ^Please wait *.*.*.*^Electric bridge ^is now extended "; + } + } + else if (arg_0C == 81) { + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = "LMC SECURITY SYSTEM^LMCKP1153 code is ^currently listed at^204. *.*.*.* ^This code expires ^upon use, and will ^no longer be valid ^at this site. "; + } + else if (arg_0C == 82) { + if (!(arg_0A && arg_0E)) { + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = "LMC SECURITY SYSTEM^Due to breaches in ^LMC Security, we ^now enforce keypad ^usage to enable all^security systems. ^^LMCSS151 is set at ^105. "; + } + else { + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = "."; + } + } + else if (arg_0C == 83) { + if (!(arg_0A && arg_0E)) { + /* concat */ + /* concat */ + /* concat */ + /* concat */ + /* concat */ + /* concat */ + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = " "; + } + else { + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = "LMC SECURITY SYSTEM^Accessing SEC0730 ^Please wait .*.*.* ^Access complete. *^Thresher Cannon ^shields 1 and 3 now^ "; + } + } + else if (arg_0C == 84) { + if (!(arg_0A && arg_0E)) { + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = "LMC SECURITY SYSTEM^Barrier wall is now^ "; + } + else { + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = "LMC SECURITY SYSTEM^Current status: ^TC1217 "; + } + } + else if (arg_0C == 85) { + if (!(arg_0A && arg_0E)) { + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = "LMC SECURITY SYSTEM^Power generator has^been destroyed. ^^Barrier wall is no ^longer operational."; + } + } + else if (arg_0C == 86) { + if (!(arg_0A && arg_0E)) { + /* concat */ + /* concat */ + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = "^Enjoy! Jym "; + } + } + else if (arg_0C == 87) { + if (!(arg_0A && arg_0E)) { + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = "LMC SECURITY SYSTEM^Medichamber now ^open. ^^ "; + } + } + else if (arg_0C == 88) { + if (!World.getAlertActive()) { + if (!(arg_0A && arg_0E)) { + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = "LMC SECURITY SYSTEM^Unable to access ^PG295. ^^Red Alert in now ^progress. "; + } + else { + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = "Generic text here "; + } + } + else { + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = "LMC SECURITY SYSTEM^Accessing PG295 ^Please wait *.*.*. ^Door is now open. "; + } + } + else if (arg_0C == 89) { + if (!(arg_0A && arg_0E)) { + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = "Mr. Gump, ^You can now access ^the security panel ^on level 6. The ^code is 153. ^P. Zimber "; + } + else { + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = "LMC SECURITY SYSTEM^Solartron ID #MAR26^ "; + } + } + else if (arg_0C == 90) { + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = "Security door 14J ^has been activated."; + } + else if (arg_0C == 91) { + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = "SECURITY OPERATIONS^__________________^^Attempted interface^with remote droid *^Unit has been: *^ "; + } + else if (arg_0C == 92) { + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = "SECURITY OPERATIONS^__________________^^Now interfacing ^with remote droid *^BKA1710C. Unit is:*^ "; + } + else if (arg_0C == 93) { + if (!(arg_0A && arg_0E)) { + /* concat */ + /* concat */ + /* concat */ + /* concat */ + /* concat */ + /* concat */ + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = "a living... "; + } + else { + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = "LMC: SECURED AREA "; + } + } + else if (arg_0C == 94) { + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = "Denise, ^I put a few things ^in the floor safe ^for good measure. ^Reset the code to ^247 and let's get ^out of here ASAFP! "; + } + else if (arg_0C == 95) { + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = "SECURITY OPERATIONS^__________________^^Attempting to ^interface with ^remote droid *.*.*.^Unit has been ^ "; + } + else if (arg_0C == 96) { + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = "SECURITY OPERATIONS^__________________^^Lowering power for ^security gun *...* ^Shield is now ^. "; + } + else if (arg_0C == 97) { + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = "Heather, ^don't wait for the ^signal! Get out of ^the base as soon as^you can! ^^Upper management is^going berserk. ^Something's ^definitely wrong. ^Take the supplies ^from the floor safe^and leave now! ^^Kevin "; + } + else if (arg_0C == 98) { + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = "Safe is empty... "; + } + else if (arg_0C == 99) { + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = "LMC SECURITY ^OPERATIONS: ^^Terminating power ^to Radix shields.**^Power now has been ^rerouted to field ^containment. ^^Radix units K35 ^through K41 still ^operational. "; + } + else if (arg_0C == 100) { + if (!(arg_0A && arg_0E)) { + /* concat */ + /* concat */ + /* concat */ + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = "Have a nice day. "; + } + else { + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = "Secured door is now^open. "; + } + } + else if (arg_0C == 101) { + if (!(arg_0A && arg_0E)) { + /* concat */ + /* concat */ + /* concat */ + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = "Have a nice day. "; + } + else { + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = "No passcode is ^available. "; + } + } + else if (arg_0C == 102) { + if (!(arg_0A && arg_0E)) { + /* concat */ + /* concat */ + /* concat */ + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = "Thank you. "; + } + else { + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = "Null message 102. "; + } + } + else if (arg_0C == 103) { + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = "The mining door ^ahead of you has ^the passcode 22. "; + } + else if (arg_0C == 104) { + if (!World.getAlertActive()) { + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = "<> **^An intruder has ^been sighted. All ^alarm systems are ^ "; + } + else { + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = "Currently, all ^systems are normal.^Alarm systems are ^ "; + } + } + else if (arg_0C == 105) { + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = "Mr. Wantaburger,** ^in memory of you, I^set the combination^to 011, your IQ. **^I also locked a ^computer security ^system with the ^number 022, just ^because I can. "; + } + else if (arg_0C == 106) { + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = "Access accepted. ^Now opening the ^doors. "; + } + else if (arg_0C == 107) { + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = "Access denied ^-------------- ^^Terminal lockout ^is effective. ^^Further attempts to^access the terminal^without proper ^authorization will ^result in immediate^termination. "; + } + else if (arg_0C == 108) { + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = "Access accepted ^--------------- ^^Code Red: Engaged "; + } + else if (arg_0C == 109) { + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = "Access Accepted ^--------------- ^^Code Red: Disabled ^Generator shields ^are now INACTIVE "; + } + else { + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = "Bad command or file name...^Message is out of range."; + } + /* strcmp */ + if (!("")) { + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = "Bad command or file name...^File is out of range."; + } + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + return; +} diff --git a/USECODE/REGRET/TEXTFIL2.unk b/USECODE/REGRET/TEXTFIL2.unk new file mode 100644 index 0000000..e066209 --- /dev/null +++ b/USECODE/REGRET/TEXTFIL2.unk @@ -0,0 +1,299 @@ + +/* synthesized appendix for TEXTFIL2 */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x20 slot_20 ===== */ +function textfil2_slot_20() /* entry=479 class_id=0x0A21 slot=0x20 */ +{ + if (arg_0C == 110) { + if (!(arg_0A && arg_0E)) { + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = "LMC SECURITY: ^^Accessing telepad ^13. Powering up the^grid. *.*.*.* ^ "; + } + } + else if (arg_0C == 111) { + if (!(arg_0A && arg_0E)) { + /* concat */ + /* concat */ + /* concat */ + /* concat */ + /* concat */ + /* concat */ + /* concat */ + /* concat */ + /* concat */ + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = "Steven "; + } + else { + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = "LMC DETENTION: ^SECURED AREA "; + } + } + else if (arg_0C == 112) { + if (!(arg_0A && arg_0E)) { + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = "ALERT: ^----------------- ^^Deactivating laser ^barrier *.*.*.* ^LASER TERMINATED ^^Yellow alert issued"; + } + else { + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = "LMC DETENTION: ^SECURED AREA "; + } + } + else if (arg_0C == 113) { + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = "SECURITY OPERATIONS^__________________^^Now interfacing ^with remote droid.*^Vetron BKA735Z ^Unit is now *.*.*. ^. "; + } + else if (arg_0C == 114) { + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = "LMC SECURITY SYSTEM^Force bridge now ^extended *.*.*.* ^^WARNING! * ^Security delay is ^in effect! "; + } + else if (arg_0C == 115) { + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = "SECURITY OPERATIONS^__________________^^Electric grid *...*^Powering down *...*^Grid is now *.*.*.*^. "; + } + else if (arg_0C == 116) { + if (!(arg_0A && arg_0E)) { + /* concat */ + /* concat */ + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = "^Alexis"; + } + else { + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = "LMC DETENTION: ^SECURED AREA "; + } + } + else if (arg_0C == 117) { + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = "SECURITY OPERATIONS^__________________^^Elevator F23 *...* ^Security override. ^Destination: Prison^cellblock J12 *...*^Door is now ."; + } + else if (arg_0C == 118) { + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = "SECURITY OPERATIONS^__________________^^Now interfacing ^with remote droid.*^Roaming Susan ^STA428Y *.*.*.* ^Unit is "; + } + else if (arg_0C == 119) { + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = "SECURITY OPERATIONS^__________________^^Laser barrier *...*^Powering down *...*^Lasers are now ... ^ "; + } + else if (arg_0C == 120) { + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = "LMC SECURITY SYSTEM^LEVEL 3J: ^^Bypassing computer ^controls *.*.*. ^Checking diagnostic^system *.*.*. ^Diagnostic COMPLETE^Rerouting internal ^parameters *.*.*.* ^Monitor KX-234 is ^now available. "; + } + else if (arg_0C == 121) { + if (!(arg_0A && arg_0E)) { + /* concat */ + /* concat */ + /* concat */ + /* concat */ + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = "KX-3. "; + } + else { + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = "LMC DETENTION: ^SECURED AREA "; + } + } + else if (arg_0C == 122) { + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = "LMC SECURITY SYSTEM^LEVEL 3J: ^^ACCESS ^Monitor KX-234 is ^unavailable. "; + } + else if (arg_0C == 123) { + if (!(arg_0A && arg_0E)) { + /* concat */ + /* concat */ + /* concat */ + /* concat */ + /* concat */ + /* concat */ + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = "going to show up! "; + } + else { + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = "LMC DETENTION: ^SECURED AREA "; + } + } + else if (arg_0C == 124) { + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = "SECURITY OPERATIONS^__________________^^Now interfacing ^with remote droid.*^Vetron UEB429C ^Unit is now *.*.*.*^ "; + } + else if (arg_0C == 125) { + if (!(arg_0A && arg_0E)) { + /* concat */ + /* concat */ + /* concat */ + /* concat */ + /* concat */ + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = "just in case *...* "; + } + else { + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = "LMC DETENTION: ^SECURED AREA "; + } + } + else if (arg_0C == 126) { + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = "SECURITY OPERATIONS^__________________^^Now interfacing ^with remote droid.*^Vetron JEB173D ^Unit is "; + } + else if (arg_0C == 127) { + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = "SECURITY OPERATIONS^__________________^^Now attempting to ^interface with ^remote droid. * ^Vetron JEB173D ^Unit is "; + } + else if (arg_0C == 0x0080) { + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = "SECURITY OPERATIONS^__________________^^Now interfacing ^with remote droid.*^Avatron XTC6723D ^Unit is "; + } + else if (arg_0C == 0x0081) { + if (!(arg_0A && arg_0E)) { + /* concat */ + /* concat */ + /* concat */ + /* concat */ + /* concat */ + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = "End of Message. "; + } + else { + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = "LMC Research ^Facility "; + } + } + else if (arg_0C == 0x0082) { + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = "SECURITY OPERATIONS^__________________^^Reflector is now ^operational *...* ^Unit is "; + } + else if (arg_0C == 0x0083) { + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = "SECURITY OPERATIONS^__________________^^Now attempt to ^interface with ^remote droid. * ^Avatron XTC6723D ^Unit is "; + } + else if (arg_0C == 0x0084) { + if (!(arg_0A && arg_0E)) { + /* concat */ + /* concat */ + /* concat */ + /* concat */ + /* concat */ + /* concat */ + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = "level. "; + } + else { + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = "LMC DETENTION: ^SECURED AREA "; + } + } + else if (arg_0C == 0x0085) { + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = "SECURITY OPERATIONS^__________________^^Now attempting ^interface with ^remote droid. * ^Unit is "; + } + else if (arg_0C == 0x0086) { + if (!(arg_0A && arg_0E)) { + /* concat */ + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = UCMachine.numToStr(arg_0E); + } + else { + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = "LMC DETENTION: ^SECURED AREA "; + } + } + else if (arg_0C == 0x0087) { + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = "LMC SECURITY SYSTEM^__________________^^Telepad powering ^down *.*.*.* ^Telepad now storing^coordinates *.*.*.*^Telepad is now ^ "; + } + else if (arg_0C == 0x0088) { + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = "LMC SECURITY SYSTEM^Accessing *.*.*.* ^Please wait *.*.*. ^Electric bridge now^extended. "; + } + else if (arg_0C == 0x0089) { + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = "LMC SECURITY SYSTEM^Accessing *.*.*.* ^Please wait *.*.*. ^Electric bridge now^ "; + } + else if (arg_0C == 0x008A) { + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = "LMC SECURITY SYSTEM^ALERT! ^^Unauthorized use of^this terminal *...*^Initiating security^procedure Omega. "; + } + else if (arg_0C == 0x008B) { + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = "SECURITY OPERATIONS^__________________^^Now attempt to ^interface with ^remote droid. * ^Solartron UID3780H ^Unit is "; + } + else if (arg_0C == 0x008C) { + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = "LMC SECURITY SYSTEM^Accessing PG428. ^Laser barrier now ^ "; + } + else if (arg_0C == 0x008D) { + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = "LMC SECURITY SYSTEM^Accessing PG428. ^Laser barrier not ^ "; + } + else if (arg_0C == 0x008E) { + /* concat */ + /* concat */ + /* concat */ + /* concat */ + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = "Jessica "; + } + else if (arg_0C == 0x008F) { + if (!World.getAlertActive()) { + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = "LMC SECURITY SYSTEM^Accessing PG538. ^Please wait *.*.*.*^Unable to comply at^this time. Red ^Alert in progress. "; + } + else { + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = "LMC SECURITY SYSTEM^Accessing PG538. ^Please wait *.*.*.*^Access granted. "; + } + } + else if (arg_0C == 0x0090) { + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = "LMC SECURITY SYSTEM^Accessing PG1001. ^Please wait *.*.*.*^Access granted. "; + } + else if (arg_0C == 0x0091) { + /* concat */ + /* concat */ + /* concat */ + /* concat */ + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = " "; + } + else if (arg_0C == 0x0092) { + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = "LMC SECURITY SYSTEM^Accessing PG549 ...^Please wait *.*.*. ^Wallgun shields are^ "; + } + else if (arg_0C == 0x0093) { + if (!(arg_0A && arg_0E)) { + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = "LMC SECURITY SYSTEM^Accessing PG411. ^MV-4 is now ^ "; + } + else { + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = "LMC SECURITY SYSTEM^Accessing PG1120. ^Laser barrier now ^ "; + } + } + else if (arg_0C == 0x0094) { + if (!(arg_0A && arg_0E)) { + /* concat */ + /* concat */ + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = ". "; + } + else { + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = "LMC SECURITY SYSTEM^Radix Lab 316A. ^Accessing PG4116. ^SF1517 DEACTIVATED "; + } + } + else if (arg_0C == 0x0095) { + /* concat */ + /* concat */ + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = "."; + } + /* strcmp */ + if (!("")) { + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = "This is a bug. ^Please write this up. ^Love, Mom..."; + } + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + return; +} diff --git a/USECODE/REGRET/TEXTFIL3.unk b/USECODE/REGRET/TEXTFIL3.unk new file mode 100644 index 0000000..205a646 --- /dev/null +++ b/USECODE/REGRET/TEXTFIL3.unk @@ -0,0 +1,293 @@ + +/* synthesized appendix for TEXTFIL3 */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x20 slot_20 ===== */ +function textfil3_slot_20() /* entry=476 class_id=0x0A1E slot=0x20 */ +{ + if (arg_0C == 0x0096) { + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = "SECURITY OPERATIONS^__________________^^Rerouting reflector^G67. System was ^ "; + } + else if (arg_0C == 0x0097) { + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = "FREIGHTER OPERATION^__________________^^Lightbridge is now ^ "; + } + else if (arg_0C == 0x0098) { + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = "LMC SECURITY ^OPERATIONS: ^^Accessing laser ^barrier. "; + } + else if (arg_0C == 0x0099) { + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = "LMC SECURITY ^OPERATIONS: ^^Accessing security ^systems *.*.*.* ^Defense mechanisms ^coming on-line *...^System "; + } + else if (arg_0C == 0x009A) { + if (!(arg_0A && arg_0E)) { + /* concat */ + /* concat */ + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = "? ^Kim. "; + } + } + else if (arg_0C == 0x009B) { + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = "LMC SECURITY ^OPERATIONS: ^^Remote Camera now ^ "; + } + else if (arg_0C == 0x009C) { + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = "LMC SECURITY ^OPERATIONS: ^^Accessing elevator."; + } + else if (arg_0C == 0x009D) { + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = "Mr. Belye, ^I stowed the VIR ^chip in the floor ^safe along with a ^few other items. ^^I've set the new ^passcode to 212, ^which should access^the safe. ^Lyta "; + } + else if (arg_0C == 0x009E) { + if (!(arg_0A && arg_0E)) { + /* concat */ + /* concat */ + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = "^Love, Erica "; + } + else { + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = "LMC DETENTION: ^SECURED AREA "; + } + } + else if (arg_0C == 0x009F) { + if (!(arg_0A && arg_0E)) { + /* concat */ + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = UCMachine.numToStr(arg_0E); + } + else { + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = "LMC DETENTION: ^SECURED AREA "; + } + } + else if (arg_0C == 0x00A0) { + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = "LMC SECURITY SYSTEM^Acquiring PG554. ^Please wait .*.*.* ^Acquisition is now ^complete. ^Solartron 1119 now ^ "; + } + else if (arg_0C == 0x00A1) { + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = "Fergus, ^I think that you ^should keep that ^extra keycard in ^the safe so next ^time you lose yours^you can get that ^other one out. ^^You know the code, ^don't you?! ^015. Ottmar "; + } + else if (arg_0C == 0x00A2) { + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = "Gibson, I've been ^told that there IS ^a problem with the ^elevator in the ^West Wing. ^^I have removed the ^keypad and also ^installed a card- ^reader. The card ^for the reader is ^in your safe, and ^your code is 101. "; + } + else if (arg_0C == 0x00A3) { + if (!(arg_0A && arg_0E)) { + /* concat */ + /* concat */ + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = ". Linda. "; + } + else { + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = ""; + } + } + else if (arg_0C == 0x00A4) { + if (!(arg_0A && arg_0E)) { + /* concat */ + /* concat */ + /* concat */ + /* concat */ + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = " "; + } + else { + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = ""; + } + } + else if (arg_0C == 0x00A5) { + if (!(arg_0A && arg_0E)) { + /* concat */ + /* concat */ + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = ". "; + } + else { + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = ""; + } + } + else if (arg_0C == 0x00A6) { + if (!(arg_0A && arg_0E)) { + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = "Ottmar, ^I had a hard time ^remembering that ^code you gave me, ^so I changed it. ^^It's no longer 015,^or whatever it was.^I changed it to ^222, my birthday. ^Fergus "; + } + else { + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = "LMCSS153 ^Access granted "; + } + } + else if (arg_0C == 0x00A7) { + if (!(arg_0A && arg_0E)) { + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = "LMC SECURITY SYSTEM^Please wait *.*.*.*^Acquiring VT215 ^Acquisition is now ^complete. "; + } + else { + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = "LMC SECURITY SYSTEM^Please wait *.*.*.*^Acquiring VT215 ^Acquisition is now ^complete. "; + } + } + else if (arg_0C == 0x00A8) { + if (!(arg_0A && arg_0E)) { + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = "Mischa, ^I hope you're not ^serious about that ^forcefield passcode^for the teleporter ^room. It's not very^smart to use your ^birthdate, 'cause ^everyone knows it's^216. ^Euri "; + } + else { + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = "."; + } + } + else if (arg_0C == 0x00A9) { + if (!(arg_0A && arg_0E)) { + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = "LMC SECURITY SYSTEM^Please wait *.*.*.*^VT215 is currently ^unavailable. "; + } + else { + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = "LMC SECURITY SYSTEM^Please wait *.*.*.*^VT215 is currently ^unavailable. "; + } + } + else if (arg_0C == 0x00AA) { + if (!(arg_0A && arg_0E)) { + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = "LMC SECURITY SYSTEM^Please wait *.*.*.*^Acquiring AV1047 ^Acquisition is now ^complete. "; + } + else { + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = "LMC SECURITY SYSTEM^Please wait *.*.*.*^Acquiring AV1047 ^Acquisition is now ^complete. "; + } + } + else if (arg_0C == 0x00AB) { + if (!(arg_0A && arg_0E)) { + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = "LMC SECURITY SYSTEM^Please wait .*.*.* ^LSS has determined ^that unit cannot be^located. ^^It may be damaged ^or malfunctioning. ^Please alert LMC ^Security. "; + } + else { + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = "LMC SECURITY SYSTEM^Please wait .*.*.* ^LSS has determined ^that unit cannot be^located. ^^It may be damaged ^or malfunctioning. ^Please alert LMC ^Security. "; + } + } + else if (arg_0C == 0x00AC) { + if (!(arg_0A && arg_0E)) { + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = "LMC SECURITY SYSTEM^Please wait .*.*.* ^LSS has determined ^that door cannot be^located. ^^It may be damaged ^or malfunctioning. ^Please alert LMC ^Security. "; + } + else { + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = "No text. "; + } + } + else if (arg_0C == 0x00AD) { + if (!(arg_0A && arg_0E)) { + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = "Not in use yet "; + } + else { + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = "LMC SECURITY SYSTEM^RP216 ** ^Tram Passcode is ^227. "; + } + } + else if (arg_0C == 0x00AE) { + if (!(arg_0A && arg_0E)) { + /* concat */ + /* concat */ + /* concat */ + /* concat */ + /* concat */ + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = "Director J. Leach "; + } + else { + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = "LMC SECURITY SYSTEM^Remote Camera is: ^ "; + } + } + else if (arg_0C == 0x00AF) { + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = "LMC SECURITY SYSTEM^The access code to ^GS1204 has been ^changed. The new ^passcode is 189. "; + } + else if (arg_0C == 0x00B4) { + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = "LMC MAINTENANCE ^SYSTEM: ^^Acquiring SERVICE ^ANDROID. ^Please wait .*.*.* ^Acquisition is now ^complete *.*.*.* ^ANDROID 1029B is ^ "; + } + else if (arg_0C == 0x00B5) { + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = "LMC MAINTENANCE ^SYSTEM: ^^Acquiring SERVICE ^ANDROID. ^Please wait .*.*.* ^Acquisition is now ^complete *.*.*.* ^ANDROID 1029B is ^ "; + } + else if (arg_0C == 0x00B6) { + /* concat */ + /* concat */ + /* concat */ + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = "this room. Use it! "; + } + else if (arg_0C == 0x00B7) { + if (!(arg_0A && arg_0E)) { + /* concat */ + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = UCMachine.numToStr(arg_0E); + } + else { + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = "LMC DETENTION: ^SECURED AREA "; + } + } + else if (arg_0C == 0x00B8) { + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = "LMC MAINTENANCE ^SYSTEM: ^^Acquiring SERVICE ^ANDROID. ^Please wait .*.*.* ^Acquisition is now ^complete *.*.*.* ^ANDROID 456X is ^ "; + } + else if (arg_0C == 0x00B9) { + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = "LMC MAINTENANCE ^SYSTEM: ^^Acquiring SERVICE ^ANDROID. ^Please wait .*.*.* ^Acquisition is now ^complete *.*.*.* ^ANDROID 456X is ^ "; + } + else if (arg_0C == 0x00BA) { + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = "LMC SECURITY ^DIVISION: ^^------------ ^^ACCESSING DATABASE:^^Permission to ^activate CRYOTRON* ^<> "; + } + else if (arg_0C == 0x00BB) { + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = "LMC SECURITY ^DIVISION: ^^------------ ^^ACCESSING DATABASE:^^Permission to ^activate CRYOTRON* ^<> "; + } + else if (arg_0C == 0x00BC) { + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = "LMC SECURITY ^------------ ^^ACCESSING NETWORK: ^^Activating ^securty panel: * ^North Wall, ^Power Coupler Room."; + } + else if (arg_0C == 0x00BD) { + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = "LMC SECURITY SYSTEM^-------------------^^^Activating:* ^"; + } + else if (arg_0C == 0x00BE) { + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = "LMC SECURITY SYSTEM^-------------------^^^Interface complete:*^^MST 3000 Rail Gun^^"; + } + else if (arg_0C == 0x00BF) { + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = "SECURITY OPS^______________^^Now interfacing ^with remote droid.*^Vetron 2BRN2B ^Unit is now *.*.*. ^. "; + } + else if (arg_0C == 0x00C0) { + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = "SECURITY OPS^______________^^Now interfacing ^with remote droid.*^Vetron 2BRN2B ^Unit is now *.*.*. ^. "; + } + else if (arg_0C == 0x00C1) { + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = "LMC SECURITY OPS^______________^Chuck, we've got^to check the east^service tunnel^in sickbay 1 to fix^platform 14 ^^ -Tony "; + } + else if (arg_0C == 0x00C2) { + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = "LMC PRISON OPS^______________^^Hey, Zeno, I've got^to check the east ^service tunnel south^of the turrets. We're getting power^fluctuations in the^shield generators ^in power room 3. ^^ -Tony "; + } + /* strcmp */ + if (!("")) { + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = "This is a bug.^^Please write this up.^^^Love, Mom..."; + } + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + return; +} diff --git a/USECODE/REGRET/TEXTFILE.unk b/USECODE/REGRET/TEXTFILE.unk new file mode 100644 index 0000000..a977049 --- /dev/null +++ b/USECODE/REGRET/TEXTFILE.unk @@ -0,0 +1,558 @@ + +/* synthesized appendix for TEXTFILE */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x20 slot_20 ===== */ +function textfile_slot_20() /* entry=468 class_id=0x0A16 slot=0x20 */ +{ + /* param_pid_chg bp_offset=0xA target=[BP+0Ah] copy_type=0x1 */ + set_info(0x0001, *(arg_06)); + return; +} + +/* ===== slot 0x21 slot_21 ===== */ +function textfile_slot_21() /* entry=468 class_id=0x0A16 slot=0x21 */ +{ + if (arg_0C < 0x0096) { + TEXTFIL3.slot_20(0, arg_0C, arg_0A, arg_06); + return; + } + else if (arg_0C < 110) { + TEXTFIL2.slot_20(0, arg_0C, arg_0A, arg_06); + return; + } + else if (arg_0C < 60) { + TEXTFIL1.slot_20(0, arg_0C, arg_0A, arg_06); + return; + } + else { + TEXTFILE.slot_23(0, arg_0C, arg_0A, arg_06); + return; + } + return; +} + +/* ===== slot 0x22 slot_22 ===== */ +function textfile_slot_22() /* entry=468 class_id=0x0A16 slot=0x22 */ +{ + set_info(0x0001, *(arg_06)); + FREE.slot_34(arg_0C, arg_0A); + if (!retval) { + if (Item.getMapNum(arg_06) == 0) { + if (Item.getFrame(arg_06) == 0) { + spawn ITEM.slot_2A(pid, 0, 0, arg_06); + suspend; + return; + } + else if (Item.getFrame(arg_06) == 1) { + spawn ITEM.slot_2A(pid, 0, 0, arg_06); + suspend; + return; + } + } + } + return; +} + +/* ===== slot 0x23 slot_23 ===== */ +function textfile_slot_23() /* entry=468 class_id=0x0A16 slot=0x23 */ +{ + entry: + if (arg_0C >= 0x0096) goto block_0229; + + block_0212: + TEXTFIL3.slot_20(arg_0E, arg_0C, arg_0A, arg_06); + goto block_3216; + + block_0226: + goto block_0267; + + block_0229: + if (arg_0C >= 110) goto block_0248; + + block_0231: + TEXTFIL2.slot_20(arg_0E, arg_0C, arg_0A, arg_06); + goto block_3216; + + block_0245: + goto block_0267; + + block_0248: + if (arg_0C >= 60) goto block_0267; + + block_0250: + TEXTFIL1.slot_20(arg_0E, arg_0C, arg_0A, arg_06); + goto block_3216; + + block_0264: + goto block_0267; + + block_0267: + if (arg_0C == 0) { + local_04 = UCMachine.rndRange(11, 1); + if (local_04 == 1) { + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = "Due to recent rebel^activity, the T-300^lines have failed.^^Do NOT attempt to ^access the LMC ^network at this ^time. ^^ "; + } + else if (local_04 == 2) { + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = "The use of any LMC ^equipment to play ^computerized ^entertainment ^software is ^strictly ^prohibited!* ^^Return to work ^IMMEDIATELY!*** "; + } + else if (local_04 == 3) { + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = "All workers must ^display their ^badges at *** ^ALL TIMES!* ^^Failure to comply ^will result in ^immediate ^termination!* "; + } + else if (local_04 == 4) { + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = "Report all ^unauthorized use of^LMC equipment ^immediately! ^^Remember, that your^co-workers could be^rebel sympathizers!^Collect big cash ^rewards too!"; + } + else if (local_04 == 5) { + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = "Unauthorized access^of this terminal ^constitutes a ^violation of LMC ^security code ^1701-D.^Please report ^yourself to an LMC ^security officer ^for correctional ^measures *.*.*. ^^"; + } + else if (local_04 == 6) { + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = "The LMC network is ^exp*erien^*cing*^ ^slight dif^* *.. ^ficulties. ^^Please st$#@**%^@! ^)(*^%$# "; + } + else if (local_04 == 7) { + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = "The carrying of^unregistered^radiation detection^devices is strictly^prohibited by the ^LMC. *.*.*. ^^Register yours ^today. **Remember, ^the LMC is just ^like family, and we^care about you! "; + } + else if (local_04 == 8) { + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = "IMPORTANT:^^All terminals MUST^be scanned every^30 days for the^UNK virus...*"; + } + else if (local_04 == 9) { + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = "Consortium-wide ^meeting tomorrow at^1330. ** ^WedgeRoom 1501. ^^This is a mandatory^meeting! All Branch^Leaders must attend!"; + } + else if (local_04 == 10) { + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = "The LMC Regulatory ^Commission requires^reports of your ^daily activities. ^^Failure to submit ^these reports may ^result in immediate^termination. "; + } + else { + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = "The LMC network is ^experiencing slight^difficulties. ** ^^Please stand by ... "; + } + } + else if (arg_0C == 1) { + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = "LMC SECURITY SYSTEM^Accessing Database^^Security door *** ^now opening... "; + } + else if (arg_0C == 2) { + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = "LMC SECURITY SYSTEM^Accessing Database^^Force field *** ^deactivated. "; + } + else if (arg_0C == 3) { + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = "LMC SECURITY SYSTEM^Accessing Database^^Electric bridge ** ^extended. "; + } + else if (arg_0C == 4) { + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = "LMC SECURITY SYSTEM^Accessing Network ^^Security systems ^activated. "; + } + else if (arg_0C == 5) { + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = "LMC SECURITY SYSTEM^Accessing Network ^^Security systems **^deactivated. "; + } + else if (arg_0C == 6) { + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = "LMC SECURITY SYSTEM^Accessing Network ^^All alarm systems^have been **^deactivated."; + } + else if (arg_0C == 7) { + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = "LMC SECURITY SYSTEM^Accessing Network ^^Entry is *"; + } + else if (arg_0C == 8) { + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = "LMC SECURITY SYSTEM^Accessing Network ^^Security systems **^All alarm systems ^have been ** ^deactivated. "; + } + else if (arg_0C == 9) { + if (!(arg_0A && arg_0E)) { + /* concat */ + /* concat */ + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = " . "; + } + } + else if (arg_0C == 10) { + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = "LMC SECURITY SYSTEM^Powering elevator ^platform *.*.*.* ^^Platform is: *** ^ACTIVE* "; + } + else if (arg_0C == 11) { + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = "LMC SECURITY OPS^______________^^Central Computer ^ Core ^^^Restricted Area...^Authorized Personnel^ -ONLY-"; + } + else if (arg_0C == 12) { + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = "Laser barrier RT-5^^Decoupling power ^source *.*.*.* ^FIELD DEACTIVATED "; + } + else if (arg_0C == 13) { + spawn TRIGGER.slot_20(1, *(arg_06), arg_06); + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = "LMC SECURITY SYSTEM^Laser barrier RT-5*^^FIELD ACTIVATED "; + } + else if (arg_0C == 14) { + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = "Security Operations^__________________^^Now interfacing ^with remote droid.^^Roaming Susan ^VTK753B *** ^^Unit is now * ^ * - ONLINE -*. "; + } + else if (arg_0C == 15) { + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = "LMC Security System^Override Forcefield^Z-01 operation. * ^^Terminating power ^supply *.*.*.* ^^Z-01 is now ^*** - OFFLINE -.^"; + } + else if (arg_0C == 16) { + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = "Accessing .*.*.*.*:^Security Terminal* ^*.*.*.* ^Rerouted and now ^* - OPERATIONAL -. "; + } + else if (arg_0C == 17) { + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = "Blast Door 6A: ^Activating controls^^*.*.*.* ^Override in effect."; + } + else if (arg_0C == 18) { + if (!(arg_0A && arg_0E)) { + /* concat */ + /* concat */ + /* concat */ + /* concat */ + /* concat */ + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = "Captain J. Banks "; + } + else { + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = "LMC SECURITY SYSTEM^Remote Camera: *** ^ACTIVE* "; + } + } + else if (arg_0C == 19) { + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = "Security Force ^Field *.*.*.* ^^Decoupling Power ^conduits *.*.*.* ^^Field -DEACTIVATED-"; + } + else if (arg_0C == 20) { + if (!(arg_0A && arg_0E)) { + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = "LMC SECURITY SYSTEM^Accessing PG103 **^^Thresher Cannon ^shields are now ^deactivated. ^^Contact Security ^for re-activation. "; + } + else { + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = "LMC SECURITY SYSTEM^Remote Camera: ** ^^ACTIVE* ^Thermatron ID ^#1184MFH *.* ONLINE"; + } + } + else if (arg_0C == 21) { + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = "Jay, I've reset the^passcode for the ^safe to 183. Don't ^let Norma know that^I did it, okay? ^She'll be mad. ^^Sullivan "; + } + else if (arg_0C == 22) { + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = "Euri, ** ^I've installed a ^new experimental ^barrier in that ^telepad room. Maybe^that will keep ^those workers from ^from clowning ^around all day. ^^Mischa ^Oh, by the way, the^code is 216."; + } + else if (arg_0C == 23) { + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = "LMC SECURITY SYSTEM^Remote Camera: ** ^^ACTIVE * ^Vetron ID #0268YMJ*^ONLINE* "; + } + else if (arg_0C == 24) { + if (!(arg_0A && arg_0E)) { + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = "LMC SECURITY SYSTEM^Level 3 Mining Open^"; + } + else { + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = "LMC SECURITY SYSTEM^Security Shield *^^DEACTIVATED ^Level 4 Elevator *^Now Open "; + } + } + else if (arg_0C == 25) { + if (!(arg_0A && arg_0E)) { + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = "LMC SECURITY SYSTEM^Access Granted ^Level 3 Mining Open "; + } + else { + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = "LMC SECURITY SYSTEM^Laser Barrier *** ^DEACTIVATED. "; + } + } + else if (arg_0C == 26) { + if (!(arg_0A && arg_0E)) { + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = "LMC SECURITY SYSTEM^Level 3 Mining Open "; + } + else { + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = "LMC SECURITY SYSTEM^Barrier Walls *** ^DEACTIVATED. "; + } + } + else if (arg_0C == 27) { + if (!(arg_0A && arg_0E)) { + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = "LMC SECURITY SYSTEM^Level 3 Mining Open"; + } + else { + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = "LMC SECURITY SYSTEM^Jorg, I told you ^passcode was 201! "; + } + } + else if (arg_0C == 28) { + if (!(arg_0A && arg_0E)) { + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = "Attention: *** ^Due to possible ^rebel infiltration,^all passcodes have ^been changed. ^^To use keypad, ^enter 201. ** ^Thank you, and have^a nice day. "; + } + else { + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = "LMC SECURITY SYSTEM:^Security Door is now open."; + } + } + else if (arg_0C == 29) { + if (!(arg_0A && arg_0E)) { + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = ""; + } + else { + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = "LMC SECURITY SYSTEM^Thresher Cannon ** ^DEACTIVATED "; + } + } + else if (arg_0C == 30) { + if (!(arg_0A && arg_0E)) { + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = ""; + } + else { + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = "LMC SECURITY SYSTEM^^Remote Camera: ^ACTIVE * "; + } + } + else if (arg_0C == 31) { + if (!(arg_0A && arg_0E)) { + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = ""; + } + else { + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = "Mr. Plese, ^Your telepad now ^has a new passcode.^It is 162. **YMJ "; + } + } + else if (arg_0C == 32) { + if (!(arg_0A && arg_0E)) { + /* concat */ + /* concat */ + /* concat */ + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = "DEACTIVATED. *** "; + } + else { + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = "LMC SECURITY SYSTEM^Barrier Walls *.*. ^DEACTIVATED ^^Laser Barrier *.*. ^DEACTIVATED "; + } + } + else if (arg_0C == 33) { + if (!(arg_0A && arg_0E)) { + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = "LMC SECURITY SYSTEM^One Moment *.*.*.* ^Loading Radix Data ^*.*.*.* ^Shields are now ^INACTIVE "; + } + else { + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = "LMC SECURITY SYSTEM^Remote Camera: ** ^^ACTIVE ^Access to LB 5461 ^GRANTED "; + } + } + else if (arg_0C == 34) { + if (!(arg_0A && arg_0E)) { + /* concat */ + /* concat */ + /* concat */ + /* concat */ + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = "*.*.*.* NOW OPEN "; + } + else { + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = "LMC RADIX LAB ^^Barrier Wall *.*. ^DEACTIVATED. "; + } + } + else if (arg_0C == 35) { + if (!(arg_0A && arg_0E)) { + /* concat */ + /* concat */ + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = "^^Jay "; + } + else { + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = "LMC SECURITY SYSTEM^One Moment *.*.*.* ^Loading Radix Data ^*.*.*.* ^Shields are now ^INACTIVE "; + } + } + else if (arg_0C == 36) { + if (!(arg_0A && arg_0E)) { + /* concat */ + /* concat */ + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = ". "; + } + else { + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = "Hey Ev, ^I've been wondering^if that floor safe ^still has the same ^passcode? ^107 doesn't seem to^work. Will you fix ^it? JG "; + } + } + else if (arg_0C == 37) { + if (!(arg_0A && arg_0E)) { + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = "LMC SECURITY SYSTEM^Telepad is now ^ACTIVE. "; + } + else { + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = "LMC SECURITY SYSTEM^*Laser Barrier *.*.^DEACTIVATED. "; + } + } + else if (arg_0C == 38) { + if (!(arg_0A && arg_0E)) { + /* concat */ + /* concat */ + /* concat */ + /* concat */ + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = "a nice day. "; + } + else { + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = "Security door is ^now OPEN. "; + } + } + else if (arg_0C == 39) { + if (!(arg_0A && arg_0E)) { + /* concat */ + /* concat */ + /* concat */ + /* concat */ + /* concat */ + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = "extended. "; + } + else { + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = "LMC SECURITY SYSTEM^^Accessing MSD ^Security panel ^^*.*.*.* ^LMC Security Door ^*.*.*.* NOW OPEN "; + } + } + else if (arg_0C == 40) { + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = "LMC Security ^Database System: ^^Downgrading of the ^security status...^^<> "; + } + else if (arg_0C == 41) { + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = "LMC SECURITY SYSTEM^Accessing laser ^barrier protection ^system *.*.*.* ^^<>*"; + } + else if (arg_0C == 42) { + /* concat */ + /* concat */ + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = "."; + } + else if (arg_0C == 43) { + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = "ServoMech access ^station: *.*.*.* ^^Accessing CAMETRON ^1029B .*.*.* ^<>*"; + } + else if (arg_0C == 44) { + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = "ServoMech access ^station: *.*.*.* ^^Accessing CAMETRON ^1029B .*.*.* ^<>* "; + } + else if (arg_0C == 45) { + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = "LMC Security: ^Accessing Passcode ^DataBase: *.*.*.* ^^Level 2 ^North Elevator: ^<>*"; + } + else if (arg_0C == 46) { + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = "LMC Security: ^Accessing Passcode ^DataBase: *.*.*.* ^^Level 1 ^Lobby Area: ^<>*"; + } + else if (arg_0C == 47) { + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = "LMC Security: ^Accessing Passcode ^DataBase: *.*.*.* ^^Level 2 ^South Elevator: ^<>*"; + } + else if (arg_0C == 48) { + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = "Kyle, you left the ^safe unlocked last ^night again. ^^You do remember ^where Leach ^transferred Sean? ^^Keep it locked ^unless you like ^mining Di-Cor ... *^Luke. "; + } + else if (arg_0C == 49) { + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = "LMC Security: ^Accessing Passcode ^DataBase: *.*.*.* ^^Now accessing the ^weapons control ^system *.*.*.* ^^Transferring the ^control to remote ^unit. "; + } + else if (arg_0C == 50) { + if (!(arg_0A && arg_0E)) { + /* concat */ + /* concat */ + /* concat */ + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = "B.K. "; + } + else { + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = "LMC SECURITY SYSTEM^Remote Camera: *.*.^<>* "; + } + } + else if (arg_0C == 51) { + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = "LMC SECURITY SYSTEM^__________________^^Telepad powering up^Telepad rerouting ^coordinates *.*.*. ^Telepad is now ^- ONLINE - "; + } + else if (arg_0C == 52) { + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = "SECURITY OPERATIONS^__________________^^Now interfacing ^with remote droid.*^Thresher Cannon ^MKA538C. Unit is ^ *.*.*.* ^- ONLINE - "; + } + else if (arg_0C == 53) { + if (!(arg_0A && arg_0E)) { + /* concat */ + /* concat */ + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = "^^ -Kayla"; + } + else { + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = "LMC SECURITY SYSTEM^Remote Camera: ^<> * "; + } + } + else if (arg_0C == 54) { + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = "LMC SECURITY SYSTEM^All alarm systems ^are now ***^. "; + } + else if (arg_0C == 55) { + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = "LMC SECURITY SYSTEM^Forcefield ZTA-01:*^Terminating power ^supply *.*.*.* ^ZTA-01 is now *... ^- OFFLINE - . "; + } + else if (arg_0C == 56) { + if (!(arg_0A && arg_0E)) { + /* concat */ + /* concat */ + /* concat */ + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = "works ... "; + } + else { + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = "LMC SECURITY SYSTEM^Remote Camera: ***^* "; + } + } + else if (arg_0C == 57) { + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = "LMC SECURITY SYSTEM^Laser barrier ^STS-17 *.*.*.* ^Security delay ^is now active ... ^"; + } + else if (arg_0C == 58) { + if (!(arg_0A && arg_0E)) { + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = "LMC MAINTENANCE: ^Accessing security ^door for 45th east ^maintenance tunnel ^ "; + } + } + else if (arg_0C == 59) { + if (!(arg_0A && arg_0E)) { + /* concat */ + /* concat */ + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = "^Love, Walt "; + } + else { + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = "LMC SECURITY SYSTEM^Remote Camera: ^ * "; + } + } + + block_3210: + goto block_3216; + + block_3216: + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + return; + +} diff --git a/USECODE/REGRET/THERMAL1.unk b/USECODE/REGRET/THERMAL1.unk new file mode 100644 index 0000000..b1ec581 --- /dev/null +++ b/USECODE/REGRET/THERMAL1.unk @@ -0,0 +1,45 @@ + +/* synthesized appendix for THERMAL1 */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x06 gotHit ===== */ +function thermal1_gotHit() /* entry=291 class_id=0x04E9 slot=0x06 */ +{ + set_info(0x020C, *(arg_06)); + process_exclude(); + FREE.slot_35(arg_0C, arg_0A); + if (!retval) { + local_04 = Item.getQHi(arg_06); + if (Item.getFrame(arg_06) <= 0) { + return; + } + else { + spawn ITEM.slot_29(pid, 120, arg_0C, arg_0A, arg_06); + suspend; + /* dword_to_word */ + if (process_result) { + FREE.slot_20(1); + if (!retval) { + } + return; + } + else { + spawn ITEM.slot_2A(pid, 0, 2, arg_06); + suspend; + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x46 */ + /* loop current_var=0xFE string_bytes=0xE loop_type=0x2 */ + while (!condition) { + spawn ITEM.slot_2A(pid, 0, 1, local_02); + suspend; + /* loopnext */ + } + spawn TRIGGER.slot_20(pid, (0 + 0x0080), *(arg_06), arg_06); + suspend; + spawn FREE.slot_2C(pid, 0x00000000); + suspend; + } + } + } + return; +} diff --git a/USECODE/REGRET/THERMAL2.unk b/USECODE/REGRET/THERMAL2.unk new file mode 100644 index 0000000..0cf629a --- /dev/null +++ b/USECODE/REGRET/THERMAL2.unk @@ -0,0 +1,45 @@ + +/* synthesized appendix for THERMAL2 */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x06 gotHit ===== */ +function thermal2_gotHit() /* entry=290 class_id=0x04E8 slot=0x06 */ +{ + set_info(0x020C, *(arg_06)); + process_exclude(); + FREE.slot_35(arg_0C, arg_0A); + if (!retval) { + local_04 = Item.getQHi(arg_06); + if (Item.getFrame(arg_06) <= 0) { + return; + } + else { + spawn ITEM.slot_29(pid, 120, arg_0C, arg_0A, arg_06); + suspend; + /* dword_to_word */ + if (process_result) { + FREE.slot_20(1); + if (!retval) { + } + return; + } + else { + spawn ITEM.slot_2A(pid, 0, 2, arg_06); + suspend; + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x46 */ + /* loop current_var=0xFE string_bytes=0xE loop_type=0x2 */ + while (!condition) { + spawn ITEM.slot_2A(pid, 0, 1, local_02); + suspend; + /* loopnext */ + } + spawn TRIGGER.slot_20(pid, (0 + 0x0080), *(arg_06), arg_06); + suspend; + spawn FREE.slot_2C(pid, 0x00000000); + suspend; + } + } + } + return; +} diff --git a/USECODE/REGRET/THERMATR.unk b/USECODE/REGRET/THERMATR.unk new file mode 100644 index 0000000..5b21e42 --- /dev/null +++ b/USECODE/REGRET/THERMATR.unk @@ -0,0 +1,14 @@ + +/* synthesized appendix for THERMATR */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x0E calledFromAnim ===== */ +function thermatr_calledFromAnim() /* entry=180 class_id=0x0338 slot=0x0E */ +{ + set_info(0x021A, *(arg_06)); + process_exclude(); + local_02 = *(arg_06); + set_info(1, 0); + spawn NPCDEATH.slot_20(Intrinsic000D(arg_06), *(arg_06), arg_06); + return; +} diff --git a/USECODE/REGRET/THRMBCKE.unk b/USECODE/REGRET/THRMBCKE.unk new file mode 100644 index 0000000..ab8b868 --- /dev/null +++ b/USECODE/REGRET/THRMBCKE.unk @@ -0,0 +1,51 @@ + +/* synthesized appendix for THRMBCKE */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x0A equip ===== */ +function thrmbcke_equip() /* entry=330 class_id=0x0567 slot=0x0A */ +{ + set_info(0x0211, *(arg_06)); + process_exclude(); + if (!arg_0A) { + while (!Intrinsic0035(4, arg_06)) { + spawn FREE.slot_3B(pid, 2, 0x00000000); + suspend; + } + while (!Intrinsic0035(4, arg_06)) { + spawn FREE.slot_3B(pid, 2, 0x00000000); + suspend; + } + while (!Intrinsic0035(4, arg_06)) { + spawn FREE.slot_3B(pid, 2, 0x00000000); + suspend; + } + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x44 */ + /* loop current_var=0xFE string_bytes=0xA loop_type=0x2 */ + while (!condition) { + /* loopnext */ + } + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x48 */ + /* loop current_var=0xFC string_bytes=0x12 loop_type=0x2 */ + while (!condition) { + if (Intrinsic000D(local_04) == Item.getQLo(arg_06)) { + local_08 = 3; + if (World.gameDifficulty() <= 2) { + local_06 = 10; + } + else { + local_06 = 5; + } + spawn FREE.slot_3B(pid, 40, 0x00000000); + suspend; + spawn FREE.slot_3B(pid, 2, 0x00000000); + suspend; + return; + } + /* loopnext */ + } + } + return; +} diff --git a/USECODE/REGRET/THRMBCKN.unk b/USECODE/REGRET/THRMBCKN.unk new file mode 100644 index 0000000..b9f0289 --- /dev/null +++ b/USECODE/REGRET/THRMBCKN.unk @@ -0,0 +1,51 @@ + +/* synthesized appendix for THRMBCKN */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x0A equip ===== */ +function thrmbckn_equip() /* entry=329 class_id=0x0566 slot=0x0A */ +{ + set_info(0x0211, *(arg_06)); + process_exclude(); + if (!arg_0A) { + while (!Intrinsic0035(4, arg_06)) { + spawn FREE.slot_3B(pid, 2, 0x00000000); + suspend; + } + while (!Intrinsic0035(4, arg_06)) { + spawn FREE.slot_3B(pid, 2, 0x00000000); + suspend; + } + while (!Intrinsic0035(4, arg_06)) { + spawn FREE.slot_3B(pid, 2, 0x00000000); + suspend; + } + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x44 */ + /* loop current_var=0xFE string_bytes=0xA loop_type=0x2 */ + while (!condition) { + /* loopnext */ + } + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x48 */ + /* loop current_var=0xFC string_bytes=0x12 loop_type=0x2 */ + while (!condition) { + if (Intrinsic000D(local_04) == Item.getQLo(arg_06)) { + local_08 = 3; + if (World.gameDifficulty() <= 2) { + local_06 = 10; + } + else { + local_06 = 5; + } + spawn FREE.slot_3B(pid, 40, 0x00000000); + suspend; + spawn FREE.slot_3B(pid, 2, 0x00000000); + suspend; + return; + } + /* loopnext */ + } + } + return; +} diff --git a/USECODE/REGRET/TIMER.unk b/USECODE/REGRET/TIMER.unk new file mode 100644 index 0000000..803c245 --- /dev/null +++ b/USECODE/REGRET/TIMER.unk @@ -0,0 +1,133 @@ + +/* synthesized appendix for TIMER */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x0A equip ===== */ +function timer_equip() /* entry=275 class_id=0x04C9 slot=0x0A */ +{ + set_info(0x0211, *(arg_06)); + process_exclude(); + if (arg_0A == 1) { + if ((Item.getStatus(arg_06) & 0x1000) == 0) { + spawn TIMER.slot_20(arg_06); + } + return; + } + else if (arg_0A == 0) { + /* bit_not */ + return; + } + return; +} + +/* ===== slot 0x0F enterFastArea ===== */ +function timer_enterFastArea() /* entry=275 class_id=0x04C9 slot=0x0F */ +{ + set_info(0x021B, *(arg_06)); + process_exclude(); + if (!(Item.getQHi(arg_06) & 2)) { + if ((Item.getStatus(arg_06) & 0x1000) == 0) { + spawn TIMER.slot_20(arg_06); + } + } + return; +} + +/* ===== slot 0x10 leaveFastArea ===== */ +function timer_leaveFastArea() /* entry=275 class_id=0x04C9 slot=0x10 */ +{ + set_info(0x021C, *(arg_06)); + process_exclude(); + if (!(Item.getQHi(arg_06) & 4)) { + if (!(Item.getStatus(arg_06) & 0x1000)) { + /* bit_not */ + } + } + return; +} + +/* ===== slot 0x20 slot_20 ===== */ +function timer_slot_20() /* entry=275 class_id=0x04C9 slot=0x20 */ +{ + set_info(1, 0); + local_04 = ((Item.getMapNum(arg_06) * 0x0100) + Item.getNpcNum(arg_06)); + if (local_04 == 0) { + return; + } + else { + local_02 = Item.getQHi(arg_06); + local_08 = (local_02 / 32); + if (local_08 == 0) { + local_06 = 0; + } + else if (local_08 == 1) { + local_06 = 10; + } + else if (local_08 == 2) { + local_06 = 25; + } + else if (local_08 == 3) { + local_06 = 40; + } + else if (local_08 == 4) { + local_06 = 50; + } + else if (local_08 == 5) { + local_06 = 60; + } + else if (local_08 == 6) { + local_06 = 75; + } + else if (local_08 == 7) { + local_06 = 90; + } + /* word_to_dword */ + local_0C = local_04; + /* word_to_dword */ + local_10 = local_06; + local_0C = (local_0C * local_10); + /* word_to_dword */ + local_14 = 100; + local_0C = (local_0C / local_14); + /* dword_to_word */ + local_06 = local_0C; + local_04 = (local_04 - local_06); + while (!(1)) { + if (!local_06) { + spawn FREE.slot_3B(pid, local_06, 0x00000000); + suspend; + if ((Item.getStatus(arg_06) & 0x1000) == 0) { + return; + } + if ((Intrinsic00AD(arg_06) == 1) || ((local_02 & 8) != 0)) { + spawn TRIGGER.slot_20(pid, (0x0080 + 0), *(arg_06), arg_06); + suspend; + } + } + spawn FREE.slot_3B(pid, local_04, 0x00000000); + suspend; + if ((Item.getStatus(arg_06) & 0x1000) == 0) { + if (!(local_02 & 16)) { + spawn TRIGGER.slot_20(pid, (0x0080 + 1), *(arg_06), arg_06); + suspend; + } + return; + } + if ((Intrinsic00AD(arg_06) == 1) || ((local_02 & 8) != 0)) { + if (!local_06) { + spawn TRIGGER.slot_20(pid, (0x0080 + 1), *(arg_06), arg_06); + suspend; + } + else { + spawn TRIGGER.slot_20(pid, (0x0080 + 0), *(arg_06), arg_06); + suspend; + } + } + if ((local_02 & 1) == 0) { + /* bit_not */ + return; + } + } + } + return; +} diff --git a/USECODE/REGRET/TRAMFLOR.unk b/USECODE/REGRET/TRAMFLOR.unk new file mode 100644 index 0000000..421da81 --- /dev/null +++ b/USECODE/REGRET/TRAMFLOR.unk @@ -0,0 +1,261 @@ + +/* synthesized appendix for TRAMFLOR */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x06 gotHit ===== */ +function tramflor_gotHit() /* entry=376 class_id=0x05D8 slot=0x06 */ +{ + set_info(0x020C, *(arg_06)); + process_exclude(); + if (((arg_0A == 1) || (Ultima8Engine.getUnkCrusaderFlag() != 1)) || (Item.getQLo(arg_06) != 0)) { + return; + } + else { + FREE.slot_3C(0x0220, 0); + FREE.slot_22(); + /* global_address global_id=0x1E */ + while (!Actor.isBusy()) { + spawn FREE.slot_3B(pid, 2, 0x00000000); + suspend; + } + /* global_address global_id=0x1E */ + if (!Intrinsic0061()) { + /* global_address global_id=0x1E */ + /* global_address global_id=0x1E */ + suspend; + } + local_04 = arg_0A; + local_06 = Item.getQLo(arg_06); + /* loopscr value_u8=0x24 */ + /* loop current_var=0xFC string_bytes=0x1 loop_type=0x6 */ + while (!condition) { + if (local_04 == *(arg_06)) { + if (!Item.isNpc(local_04)) { + if (local_04 == 1) { + local_08 = local_04; + } + } + else { + local_0A = Item.getShape(local_04); + } + } + /* loopnext */ + } + set_info(0x0220, 0); + /* global_address global_id=0x1E */ + if (!Actor.isDead()) { + return; + } + else { + for local_04 in selector_0x42(arg0=0x028D, arg1=0x0287, arg2=(10 * 32), origin=arg_06) { + local_02 = local_04; + /* loopnext */ + } + if (local_02) { + return; + } + else if (Item.getShape(local_02) == 0x0287) { + /* global_address global_id=0x1E */ + suspend; + /* global_address global_id=0x1E */ + suspend; + /* global_address global_id=0x1E */ + suspend; + /* global_address global_id=0x1E */ + } + else { + /* global_address global_id=0x1E */ + suspend; + /* global_address global_id=0x1E */ + suspend; + /* global_address global_id=0x1E */ + suspend; + /* global_address global_id=0x1E */ + } + spawn DOOR.slot_21(pid, 2, local_02); + suspend; + suspend; + spawn FREE.slot_3B(pid, 120, 0x00000000); + suspend; + if (global[0x000F] == 3) { + /* str_to_ptr */ + /* free_stack_string value_u8=0x0 target=[SP+00h] */ + } + if (local_06 == 0x00FF) { + /* global_address global_id=0x1E */ + if (Actor.getMap() == 6) { + /* str_to_ptr */ + /* free_stack_string value_u8=0x0 target=[SP+00h] */ + local_0C = 25; + } + else { + /* global_address global_id=0x1E */ + if (Actor.getMap() == 8) { + /* str_to_ptr */ + /* free_stack_string value_u8=0x0 target=[SP+00h] */ + local_0C = 25; + } + else { + /* global_address global_id=0x1E */ + if (Actor.getMap() == 10) { + /* str_to_ptr */ + /* free_stack_string value_u8=0x0 target=[SP+00h] */ + local_0C = 25; + } + else { + /* global_address global_id=0x1E */ + if (Actor.getMap() == 11) { + if (global[0x0016] == 1) { + /* str_to_ptr */ + /* free_stack_string value_u8=0x0 target=[SP+00h] */ + /* str_to_ptr */ + /* free_stack_string value_u8=0x0 target=[SP+00h] */ + } + else { + /* str_to_ptr */ + /* free_stack_string value_u8=0x0 target=[SP+00h] */ + } + local_0C = 25; + } + else { + /* global_address global_id=0x1E */ + if (Actor.getMap() == 14) { + /* str_to_ptr */ + /* free_stack_string value_u8=0x0 target=[SP+00h] */ + local_0C = 25; + } + else { + /* global_address global_id=0x1E */ + if (Actor.getMap() == 16) { + /* str_to_ptr */ + /* free_stack_string value_u8=0x0 target=[SP+00h] */ + /* str_to_ptr */ + /* free_stack_string value_u8=0x0 target=[SP+00h] */ + local_0C = 17; + } + else { + /* global_address global_id=0x1E */ + if (Actor.getMap() == 18) { + /* str_to_ptr */ + /* free_stack_string value_u8=0x0 target=[SP+00h] */ + /* str_to_ptr */ + /* free_stack_string value_u8=0x0 target=[SP+00h] */ + local_0C = 19; + } + else { + local_0C = 25; + } + } + } + } + } + } + } + /* global_address global_id=0x1E */ + return; + } + else if (local_06 == 0x00FE) { + /* str_to_ptr */ + /* free_stack_string value_u8=0x0 target=[SP+00h] */ + /* str_to_ptr */ + /* free_stack_string value_u8=0x0 target=[SP+00h] */ + suspend; + return; + } + else if (local_06 == 0x00FD) { + return; + } + } + } + return; +} + +/* ===== slot 0x09 release ===== */ +function tramflor_release() /* entry=376 class_id=0x05D8 slot=0x09 */ +{ + set_info(0x020D, *(arg_06)); + process_exclude(); + local_02 = Item.getSurfaceWeight(arg_06); + if (local_02 == 0) { + spawn FREE.slot_3B(pid, 30, 0x00000000); + suspend; + /* loop_selector local_04 in selector_0x42(arg0=0x028D, arg1=0x0287, arg2=(10 * 32), origin=global[0x001E]) */ + while (!condition) { + local_06 = local_04; + spawn DOOR.slot_21(pid, 2, local_06); + suspend; + /* loopnext */ + } + } + return; +} + +/* ===== slot 0x20 slot_20 ===== */ +function tramflor_slot_20() /* entry=376 class_id=0x05D8 slot=0x20 */ +{ + set_info(1, 0); + /* loop_selector local_02 in selector_0x42(arg0=0x028D, arg1=0x0287, arg2=(10 * 32), origin=arg_06) */ + while (!condition) { + local_06 = local_02; + /* loopnext */ + } + if (local_06) { + return; + } + else if (Item.getShape(local_06) == 0x0287) { + /* global_address global_id=0x1E */ + suspend; + /* global_address global_id=0x1E */ + suspend; + /* global_address global_id=0x1E */ + suspend; + } + else { + /* global_address global_id=0x1E */ + suspend; + /* global_address global_id=0x1E */ + suspend; + /* global_address global_id=0x1E */ + suspend; + } + spawn DOOR.slot_21(pid, 2, local_06); + suspend; + suspend; + spawn FREE.slot_45(pid, 0x00000000); + suspend; + spawn FREE.slot_3B(pid, 60, 0x00000000); + suspend; + suspend; + /* loop_selector local_02 in nearby_items(shape=0x05D8, origin=global[0x001E]) */ + while (!condition) { + /* global_address global_id=0x1E */ + /* global_address global_id=0x1E */ + /* global_address global_id=0x1E */ + suspend; + /* loopnext */ + } + suspend; + spawn FREE.slot_3B(pid, 120, 0x00000000); + suspend; + /* loop_selector local_02 in selector_0x42(arg0=0x0193, arg1=0x00C0, arg2=(10 * 32), origin=global[0x001E]) */ + while (!condition) { + local_06 = local_02; + spawn DOOR.slot_21(pid, 1, local_06); + suspend; + /* loopnext */ + } + /* global_address global_id=0x1E */ + /* global_address global_id=0x1E */ + suspend; + /* global_address global_id=0x1E */ + /* global_address global_id=0x1E */ + suspend; + /* global_address global_id=0x1E */ + /* global_address global_id=0x1E */ + suspend; + /* global_address global_id=0x1E */ + /* global_address global_id=0x1E */ + suspend; + /* global_address global_id=0x1E */ + return; +} diff --git a/USECODE/REGRET/TRANSFOR.unk b/USECODE/REGRET/TRANSFOR.unk new file mode 100644 index 0000000..f537b97 --- /dev/null +++ b/USECODE/REGRET/TRANSFOR.unk @@ -0,0 +1,48 @@ + +/* synthesized appendix for TRANSFOR */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x06 gotHit ===== */ +function transfor_gotHit() /* entry=102 class_id=0x01BF slot=0x06 */ +{ + set_info(0x020C, *(arg_06)); + process_exclude(); + local_02 = Item.getFrame(arg_06); + if (local_02 <= 0) { + return; + } + else { + FREE.slot_34(arg_0C, arg_0A); + local_04 = retval; + FREE.slot_34(arg_0C, arg_0A); + if (retval) { + return; + } + else if ((Item.getNpcNum(arg_06) + local_04) >= 100) { + FREE.slot_20(10); + if (retval <= 5) { + } + return; + } + else { + suspend; + /* loop_selector local_06 in selector_0x42(arg0=0x01C9, arg1=0x01C2, arg2=(5 * 32), origin=arg_06) */ + while (!condition) { + /* loopnext */ + } + if (Item.getMapNum(arg_06) == 0) { + spawn TRIGGER.slot_20(pid, 0, *(arg_06), arg_06); + suspend; + } + } + } + return; +} + +/* ===== slot 0x0F enterFastArea ===== */ +function transfor_enterFastArea() /* entry=102 class_id=0x01BF slot=0x0F */ +{ + set_info(0x021B, *(arg_06)); + process_exclude(); + return; +} diff --git a/USECODE/REGRET/TRIGEGG.unk b/USECODE/REGRET/TRIGEGG.unk new file mode 100644 index 0000000..4e487ee --- /dev/null +++ b/USECODE/REGRET/TRIGEGG.unk @@ -0,0 +1,29 @@ + +/* synthesized appendix for TRIGEGG */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x07 hatch ===== */ +function trigegg_hatch() /* entry=419 class_id=0x0900 slot=0x07 */ +{ + set_info(0x0210, *(arg_06)); + process_exclude(); + local_04 = Egg.getEggId(arg_06); + local_02 = *(arg_06); + local_06 = Item.getQLo(local_02); + spawn TRIGGER.slot_20(pid, (0 + 0x0080), local_02, arg_06); + suspend; + return; +} + +/* ===== slot 0x15 unhatch ===== */ +function trigegg_unhatch() /* entry=419 class_id=0x0900 slot=0x15 */ +{ + set_info(0x0239, *(arg_06)); + process_exclude(); + local_04 = Egg.getEggId(arg_06); + local_02 = *(arg_06); + local_06 = Item.getQLo(local_02); + spawn TRIGGER.slot_20(pid, (1 + 0x0080), local_02, arg_06); + suspend; + return; +} diff --git a/USECODE/REGRET/TRIGGER.unk b/USECODE/REGRET/TRIGGER.unk new file mode 100644 index 0000000..1e2d348 --- /dev/null +++ b/USECODE/REGRET/TRIGGER.unk @@ -0,0 +1,1341 @@ + +/* synthesized appendix for TRIGGER */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x20 slot_20 ===== */ +function trigger_slot_20() /* entry=469 class_id=0x0A17 slot=0x20 */ +{ + entry: + set_info(0x021B, 0); + local_10 = 0; + local_12 = 0; + local_14 = 0; + spawn FREE.slot_3B(pid, 1, 0x00000000); + suspend; + local_0E = arg_0A; + if (arg_0C != 0x00FE) goto block_0161; + + block_0154: + local_10 = 0x00FE; + arg_0C = 0x0080; + goto block_018D; + + block_0161: + local_06 = Item.getQHi(local_0E); + local_10 = Item.getQLo(local_0E); + local_0A = Item.getMapNum(local_0E); + local_08 = Item.getNpcNum(local_0E); + + block_018D: + local_12 = local_10; + /* pop_global global_id=0x22 size=0x2 */ + if (arg_0C < 0x0080) goto block_03A6; + + block_01A0: + local_14 = (((local_0A & 0x00E0) * 8) + local_08); + if (local_0A != 0) goto block_01B9; + + block_01B6: + goto block_0485; + + block_01B9: + if (local_10 != 0) goto block_01C4; + + block_01C1: + goto block_0485; + + block_01C4: + local_04 = 0; + if (local_0A & 8) goto block_01D4; + + block_01D0: + local_04 = 1; + + block_01D4: + if (arg_0C != local_04) goto block_03A6; + + block_01DC: + if (local_0A & 4) goto block_0306; + + block_01E4: + if Item.isCrusTypeNPC(local_14) goto block_0275; + + block_01F0: + if (local_10 != 0x00FF) goto block_0222; + + block_01F9: + if (local_14 != 0) goto block_021F; + + block_0201: + spawn TRIGGER.slot_2A(pid, local_14, local_10, local_0A, local_08, local_06, arg_0A, arg_06); + suspend; + + block_021F: + goto block_0272; + + block_0222: + if (local_14 != 0x07FE) goto block_024C; + + block_022B: + spawn TRIGGER.slot_2B(pid, local_14, local_10, local_0A, local_08, local_06, arg_0A, arg_06); + suspend; + goto block_0272; + + block_024C: + if (local_14 != 0) goto block_0272; + + block_0254: + spawn TRIGGER.slot_29(pid, local_14, local_10, local_0A, local_08, local_06, arg_0A, arg_06); + suspend; + + block_0272: + goto block_0303; + + block_0275: + if (local_10 != 0x00FF) goto block_02AB; + + block_027E: + if (local_14 != 0) goto block_02A8; + + block_0286: + spawn TRIGGER.slot_25(pid, local_14, local_10, local_0A, local_08, local_06, arg_0A, arg_06); + suspend; + /* dword_to_word */ + local_10 = process_result; + + block_02A8: + goto block_0303; + + block_02AB: + if (local_14 != 0x07FF) goto block_02D9; + + block_02B4: + spawn TRIGGER.slot_24(pid, local_14, local_10, local_0A, local_08, local_06, arg_0A, arg_06); + suspend; + /* dword_to_word */ + local_10 = process_result; + goto block_0303; + + block_02D9: + if (local_14 != 0) goto block_0303; + + block_02E1: + spawn TRIGGER.slot_23(pid, local_14, local_10, local_0A, local_08, local_06, arg_0A, arg_06); + suspend; + /* dword_to_word */ + local_10 = process_result; + + block_0303: + goto block_0394; + + block_0306: + if (local_10 != 0x00FF) goto block_033C; + + block_030F: + if (local_14 != 0) goto block_0339; + + block_0317: + spawn TRIGGER.slot_28(pid, local_14, local_10, local_0A, local_08, local_06, arg_0A, arg_06); + suspend; + /* dword_to_word */ + local_10 = process_result; + + block_0339: + goto block_0394; + + block_033C: + if (local_14 != 0x07FF) goto block_036A; + + block_0345: + spawn TRIGGER.slot_27(pid, local_14, local_10, local_0A, local_08, local_06, arg_0A, arg_06); + suspend; + /* dword_to_word */ + local_10 = process_result; + goto block_0394; + + block_036A: + if (local_14 != 0) goto block_0394; + + block_0372: + spawn TRIGGER.slot_26(pid, local_14, local_10, local_0A, local_08, local_06, arg_0A, arg_06); + suspend; + /* dword_to_word */ + local_10 = process_result; + + block_0394: + if (local_0A & 16) goto block_03A6; + + block_039C: + + block_03A6: + local_16 = (arg_0C & 1); + + block_03AD: + if 1 goto block_0485; + + block_03B2: + for local_0C in nearby_items(shape=0x04B1, origin=local_0E) { + if (Item.getQLo(local_0C) == local_10) { + local_0A = Item.getMapNum(local_0C); + local_04 = 0; + if (!(local_0A & 8)) { + local_04 = 1; + } + if (local_16 == local_04) { + if (!(local_0A & 16)) { + spawn TRIGGER.slot_21(pid, local_0C, arg_06); + suspend; + /* dword_to_word */ + local_12 = process_result; + } + else { + /* create_list element_size=0x2 count=0x1 */ + /* append_list */ + /* free_local_list bp_offset=0xFE target=[BP-02h] */ + local_02 = local_0C; + } + } + } + /* loopnext */ + } + + block_0431: + + block_0439: + while (true) { + foreach_list local_0C -> block_0473; + spawn TRIGGER.slot_21(pid, local_0C, arg_06); + suspend; + /* dword_to_word */ + local_18 = process_result; + /* create_list element_size=0x2 count=0x1 */ + /* remove_matching_inline element_size=0x2 */ + /* free_local_list bp_offset=0xFE target=[BP-02h] */ + local_02 = local_0C; + if (local_18 == local_10) { + local_12 = local_18; + } + } + + block_0473: + if (local_12 != local_10) goto block_047E; + + block_047B: + goto block_0485; + + block_047E: + local_10 = local_12; + goto block_03AD; + + block_0485: + /* free_local_list bp_offset=0xFE target=[BP-02h] */ + return; + +} + +/* ===== slot 0x21 slot_21 ===== */ +function trigger_slot_21() /* entry=469 class_id=0x0A17 slot=0x21 */ +{ + set_info(0x021B, 0); + local_0C = arg_0A; + local_0E = Item.getQLo(local_0C); + local_10 = local_0E; + local_04 = Item.getQHi(local_0C); + local_08 = Item.getMapNum(local_0C); + local_06 = Item.getNpcNum(local_0C); + local_0A = (((local_08 & 0x00E0) * 8) + local_06); + if (local_08 == 0) { + return; + } + else if (!(local_08 & 4)) { + if (!Item.isCrusTypeNPC(local_0A)) { + if (local_0E == 0x00FF) { + if (local_0A == 0) { + spawn TRIGGER.slot_2A(pid, local_0A, local_0E, local_08, local_06, local_04, arg_0A, arg_06); + suspend; + } + } + else if (local_0A == 0x07FE) { + spawn TRIGGER.slot_2B(pid, local_0A, local_0E, local_08, local_06, local_04, arg_0A, arg_06); + suspend; + } + else if (local_0A == 0) { + spawn TRIGGER.slot_29(pid, local_0A, local_0E, local_08, local_06, local_04, arg_0A, arg_06); + suspend; + } + } + else if (local_0E == 0x00FF) { + if (local_0A == 0) { + spawn TRIGGER.slot_25(pid, local_0A, local_0E, local_08, local_06, local_04, arg_0A, arg_06); + suspend; + /* dword_to_word */ + local_10 = process_result; + } + } + else if (local_0A == 0x07FF) { + spawn TRIGGER.slot_24(pid, local_0A, local_0E, local_08, local_06, local_04, arg_0A, arg_06); + suspend; + /* dword_to_word */ + local_10 = process_result; + } + else if (local_0A == 0) { + spawn TRIGGER.slot_23(pid, local_0A, local_0E, local_08, local_06, local_04, arg_0A, arg_06); + suspend; + /* dword_to_word */ + local_10 = process_result; + } + } + else if (local_0E == 0x00FF) { + if (local_0A == 0) { + spawn TRIGGER.slot_28(pid, local_0A, local_0E, local_08, local_06, local_04, arg_0A, arg_06); + suspend; + /* dword_to_word */ + local_10 = process_result; + } + } + else if (local_0A == 0x07FF) { + spawn TRIGGER.slot_27(pid, local_0A, local_0E, local_08, local_06, local_04, arg_0A, arg_06); + suspend; + /* dword_to_word */ + local_10 = process_result; + } + else if (local_0A == 0) { + spawn TRIGGER.slot_26(pid, local_0A, local_0E, local_08, local_06, local_04, arg_0A, arg_06); + suspend; + /* dword_to_word */ + local_10 = process_result; + } + /* word_to_dword */ + /* pop_result */ + return; + return; +} + +/* ===== slot 0x22 slot_22 ===== */ +function trigger_slot_22() /* entry=469 class_id=0x0A17 slot=0x22 */ +{ + set_info(0x021B, 0); + local_02 = arg_0A; + while (!(1)) { + if ((Item.getStatus(local_02) & 0x1000) == 0) { + spawn DOOR.slot_21(pid, arg_0C, local_02); + suspend; + /* bit_not */ + return; + } + else { + spawn FREE.slot_3B(pid, 10, 0x00000000); + suspend; + } + } + return; +} + +/* ===== slot 0x23 slot_23 ===== */ +function trigger_slot_23() /* entry=469 class_id=0x0A17 slot=0x23 */ +{ + set_info(0x021B, 0); + local_12 = arg_12; + local_10 = arg_0A; + local_04 = (arg_10 & 3); + if (local_04 == 0) { + for local_0E in nearby_items(shape=arg_14, origin=local_10) { + /* loopnext */ + } + } + else if (local_04 == 1) { + for local_0E in nearby_items(shape=arg_14, origin=local_10) { + /* loopnext */ + } + } + else if (local_04 == 2) { + for local_0E in nearby_items(shape=arg_14, origin=local_10) { + /* loopnext */ + } + } + else if (local_04 == 3) { + local_02 = (arg_0C & 7); + if (local_02 == 0) { + local_0C = (arg_0C / 8); + /* loop_selector local_0E in nearby_items(shape=0x0476, origin=local_10) */ + while (!condition) { + if (Item.getQLo(local_0E) == arg_12) { + local_06 = Item.getNpcNum(local_0E); + local_0A = (local_06 & 15); + local_08 = Item.getMapNum(local_0E); + local_08 = (((local_06 & 0x00E0) * 8) + local_08); + FREE.slot_39(local_0C, local_0A, local_08, local_0E); + } + /* loopnext */ + } + } + else if (local_02 == 1) { + local_0C = (arg_0C / 8); + /* loop_selector local_0E in nearby_items(shape=arg_14, origin=local_10) */ + while (!condition) { + if (Item.getQLo(local_0E) == arg_12) { + if (arg_0A == local_0E) { + if (local_0C == 31) { + suspend; + } + else { + local_0A = Item.getFrame(local_0E); + local_08 = Item.getShape(local_0E); + local_06 = (local_08 & 0x00FF); + local_08 = (local_08 & 0x0700); + local_08 = (local_08 / 8); + local_08 = (local_08 + local_0A); + suspend; + /* bit_not */ + } + } + } + /* loopnext */ + } + } + else if (local_02 == 2) { + local_06 = (arg_0C / 8); + /* loop_selector local_0E in nearby_items(shape=arg_14, origin=local_10) */ + while (!condition) { + /* loopnext */ + } + } + else if (local_02 == 3) { + for local_0E in nearby_items(shape=arg_14, origin=local_10) { + if (Item.getQLo(local_0E) == arg_12) { + if (arg_0A == local_0E) { + local_06 = (arg_0C / 8); + spawn TRIGGER.slot_22(local_06, local_0E, arg_06); + } + } + /* loopnext */ + } + } + else if (local_02 == 4) { + local_06 = (arg_0C / 8); + local_12 = (local_12 + local_06); + } + else if (local_02 == 5) { + local_06 = (arg_0C / 8); + local_12 = (local_12 - local_06); + } + else if (local_02 == 6) { + local_0C = (arg_0C / 8); + /* loop_selector local_0E in nearby_items(shape=0x0476, origin=local_10) */ + while (!condition) { + if (Item.getQLo(local_0E) == arg_12) { + local_06 = Item.getNpcNum(local_0E); + local_0A = (local_06 & 15); + local_08 = Item.getMapNum(local_0E); + local_08 = (((local_06 & 0x00E0) * 8) + local_08); + if (local_08 == 0) { + if (Item.create(local_0A, local_08, local_14) == 1) { + suspend; + } + } + } + /* loopnext */ + } + } + } + /* word_to_dword */ + /* pop_result */ + return; +} + +/* ===== slot 0x24 slot_24 ===== */ +function trigger_slot_24() /* entry=469 class_id=0x0A17 slot=0x24 */ +{ + set_info(0x021B, 0); + local_12 = arg_12; + local_10 = arg_0A; + local_04 = (arg_10 & 3); + if (local_04 == 0) { + for local_0E in nearby_items(family=1, origin=local_10) { + /* loopnext */ + } + } + else if (local_04 == 1) { + for local_0E in nearby_items(family=1, origin=local_10) { + /* loopnext */ + } + } + else if (local_04 == 2) { + for local_0E in nearby_items(family=1, origin=local_10) { + /* loopnext */ + } + } + else if (local_04 == 3) { + local_02 = (arg_0C & 7); + if (local_02 == 0) { + local_0C = (arg_0C / 8); + /* loop_selector local_0E in nearby_items(shape=0x0476, origin=local_10) */ + while (!condition) { + if (Item.getQLo(local_0E) == arg_12) { + local_06 = Item.getNpcNum(local_0E); + local_0A = (local_06 & 15); + local_08 = Item.getMapNum(local_0E); + local_08 = (((local_06 & 0x00E0) * 8) + local_08); + FREE.slot_39(local_0C, local_0A, local_08, local_0E); + } + /* loopnext */ + } + } + else if (local_02 == 1) { + local_0C = (arg_0C / 8); + /* loop_selector local_0E in nearby_items(family=1, origin=local_10) */ + while (!condition) { + if (Item.getQLo(local_0E) == arg_12) { + if (arg_0A == local_0E) { + if (local_0C == 31) { + suspend; + } + else { + local_0A = Item.getFrame(local_0E); + local_08 = Item.getShape(local_0E); + local_06 = (local_08 & 0x00FF); + local_08 = (local_08 & 0x0700); + local_08 = (local_08 / 8); + local_08 = (local_08 + local_0A); + suspend; + /* bit_not */ + } + } + } + /* loopnext */ + } + } + else if (local_02 == 2) { + local_06 = (arg_0C / 8); + /* loop_selector local_0E in nearby_items(family=1, origin=local_10) */ + while (!condition) { + /* loopnext */ + } + } + else if (local_02 == 3) { + if (global[0x0022] == 100) { + local_14 = 32; + } + else { + local_14 = global[0x0022]; + } + for local_0E in nearby_items(family=1, origin=local_10) { + if (Item.getQLo(local_0E) == arg_12) { + if (arg_0A == local_0E) { + local_06 = (arg_0C / 8); + spawn TRIGGER.slot_22(local_06, local_0E, arg_06); + } + } + /* loopnext */ + } + } + else if (local_02 == 4) { + local_06 = (arg_0C / 8); + local_12 = (local_12 + local_06); + } + else if (local_02 == 5) { + local_06 = (arg_0C / 8); + local_12 = (local_12 - local_06); + } + else if (local_02 == 6) { + local_0C = (arg_0C / 8); + /* loop_selector local_0E in nearby_items(shape=0x0476, origin=local_10) */ + while (!condition) { + if (Item.getQLo(local_0E) == arg_12) { + local_06 = Item.getNpcNum(local_0E); + local_0A = (local_06 & 15); + local_08 = Item.getMapNum(local_0E); + local_08 = (((local_06 & 0x00E0) * 8) + local_08); + if (local_08 == 0) { + if (Item.create(local_0A, local_08, local_16) == 1) { + suspend; + } + } + } + /* loopnext */ + } + } + } + /* word_to_dword */ + /* pop_result */ + return; +} + +/* ===== slot 0x25 slot_25 ===== */ +function trigger_slot_25() /* entry=469 class_id=0x0A17 slot=0x25 */ +{ + set_info(0x021B, 0); + local_12 = arg_12; + local_10 = arg_0A; + local_04 = (arg_10 & 3); + if (local_04 == 0) { + for local_0E in nearby_items(shape=arg_14, origin=local_10) { + /* loopnext */ + } + } + else if (local_04 == 1) { + for local_0E in nearby_items(shape=arg_14, origin=local_10) { + /* loopnext */ + } + } + else if (local_04 == 2) { + for local_0E in nearby_items(shape=arg_14, origin=local_10) { + /* loopnext */ + } + } + else if (local_04 == 3) { + local_02 = (arg_0C & 7); + if (local_02 == 0) { + local_0C = (arg_0C / 8); + /* loop_selector local_0E in nearby_items(shape=0x0476, origin=local_10) */ + while (!condition) { + local_06 = Item.getNpcNum(local_0E); + local_0A = (local_06 & 15); + local_08 = Item.getMapNum(local_0E); + local_08 = (((local_06 & 0x00E0) * 8) + local_08); + FREE.slot_39(local_0C, local_0A, local_08, local_0E); + /* loopnext */ + } + } + else if (local_02 == 1) { + local_0C = (arg_0C / 8); + /* loop_selector local_0E in nearby_items(shape=arg_14, origin=local_10) */ + while (!condition) { + if (arg_0A == local_0E) { + if (local_0C == 31) { + suspend; + } + else { + local_0A = Item.getFrame(local_0E); + local_08 = Item.getShape(local_0E); + local_06 = (local_08 & 0x00FF); + local_08 = (local_08 & 0x0700); + local_08 = (local_08 / 8); + local_08 = (local_08 + local_0A); + suspend; + /* bit_not */ + } + } + /* loopnext */ + } + } + else if (local_02 == 2) { + local_06 = (arg_0C / 8); + /* loop_selector local_0E in nearby_items(shape=arg_14, origin=local_10) */ + while (!condition) { + /* loopnext */ + } + } + else if (local_02 == 3) { + for local_0E in nearby_items(shape=arg_14, origin=local_10) { + if (arg_0A == local_0E) { + local_06 = (arg_0C / 8); + spawn TRIGGER.slot_22(local_06, local_0E, arg_06); + } + /* loopnext */ + } + } + else if (local_02 == 4) { + local_06 = (arg_0C / 8); + local_12 = (local_12 + local_06); + } + else if (local_02 == 5) { + local_06 = (arg_0C / 8); + local_12 = (local_12 - local_06); + } + else if (local_02 == 6) { + local_0C = (arg_0C / 8); + /* loop_selector local_0E in nearby_items(shape=0x0476, origin=local_10) */ + while (!condition) { + local_06 = Item.getNpcNum(local_0E); + local_0A = (local_06 & 15); + local_08 = Item.getMapNum(local_0E); + local_08 = (((local_06 & 0x00E0) * 8) + local_08); + if (local_08 == 0) { + if (Item.create(local_0A, local_08, local_14) == 1) { + suspend; + } + } + /* loopnext */ + } + } + } + /* word_to_dword */ + /* pop_result */ + return; +} + +/* ===== slot 0x26 slot_26 ===== */ +function trigger_slot_26() /* entry=469 class_id=0x0A17 slot=0x26 */ +{ + set_info(0x021B, 0); + local_12 = arg_12; + local_10 = arg_0A; + local_04 = (arg_10 & 3); + if (local_04 == 0) { + for local_0E in nearby_items(shape=arg_14, origin=local_10) { + /* loopnext */ + } + } + else if (local_04 == 1) { + for local_0E in nearby_items(shape=arg_14, origin=local_10) { + /* loopnext */ + } + } + else if (local_04 == 2) { + for local_0E in nearby_items(shape=arg_14, origin=local_10) { + /* loopnext */ + } + } + else if (local_04 == 3) { + local_02 = (arg_0C & 7); + if (local_02 == 0) { + local_0C = (arg_0C / 8); + /* loop_selector local_0E in nearby_items(shape=0x0476, origin=local_10) */ + while (!condition) { + if (Item.getQLo(local_0E) == arg_12) { + local_06 = Item.getNpcNum(local_0E); + local_0A = (local_06 & 15); + local_08 = Item.getMapNum(local_0E); + local_08 = (((local_06 & 0x00E0) * 8) + local_08); + FREE.slot_39(local_0C, local_0A, local_08, local_0E); + } + /* loopnext */ + } + } + else if (local_02 == 1) { + local_0C = (arg_0C / 8); + /* loop_selector local_0E in nearby_items(shape=arg_14, origin=local_10) */ + while (!condition) { + if (Item.getQLo(local_0E) == arg_12) { + if (local_0C == 31) { + suspend; + } + else { + local_0A = Item.getFrame(local_0E); + local_08 = Item.getShape(local_0E); + local_06 = (local_08 & 0x00FF); + local_08 = (local_08 & 0x0700); + local_08 = (local_08 / 8); + local_08 = (local_08 + local_0A); + suspend; + /* bit_not */ + } + } + /* loopnext */ + } + } + else if (local_02 == 2) { + local_06 = (arg_0C / 8); + /* loop_selector local_0E in nearby_items(shape=arg_14, origin=local_10) */ + while (!condition) { + /* loopnext */ + } + } + else if (local_02 == 3) { + for local_0E in nearby_items(shape=arg_14, origin=local_10) { + if (Item.getQLo(local_0E) == arg_12) { + local_06 = (arg_0C / 8); + spawn TRIGGER.slot_22(local_06, local_0E, arg_06); + } + /* loopnext */ + } + } + else if (local_02 == 4) { + local_06 = (arg_0C / 8); + local_12 = (local_12 + local_06); + } + else if (local_02 == 5) { + local_06 = (arg_0C / 8); + local_12 = (local_12 - local_06); + } + else if (local_02 == 6) { + local_0C = (arg_0C / 8); + /* loop_selector local_0E in nearby_items(shape=0x0476, origin=local_10) */ + while (!condition) { + if (Item.getQLo(local_0E) == arg_12) { + local_06 = Item.getNpcNum(local_0E); + local_0A = (local_06 & 15); + local_08 = Item.getMapNum(local_0E); + local_08 = (((local_06 & 0x00E0) * 8) + local_08); + if (local_08 == 0) { + if (Item.create(local_0A, local_08, local_14) == 1) { + suspend; + } + } + } + /* loopnext */ + } + } + } + /* word_to_dword */ + /* pop_result */ + return; +} + +/* ===== slot 0x27 slot_27 ===== */ +function trigger_slot_27() /* entry=469 class_id=0x0A17 slot=0x27 */ +{ + set_info(0x021B, 0); + local_12 = arg_12; + local_10 = arg_0A; + local_04 = (arg_10 & 3); + if (local_04 == 0) { + for local_0E in nearby_items(family=1, origin=local_10) { + /* loopnext */ + } + } + else if (local_04 == 1) { + for local_0E in nearby_items(family=1, origin=local_10) { + /* loopnext */ + } + } + else if (local_04 == 2) { + for local_0E in nearby_items(family=1, origin=local_10) { + /* loopnext */ + } + } + else if (local_04 == 3) { + local_02 = (arg_0C & 7); + if (local_02 == 0) { + local_0C = (arg_0C / 8); + /* loop_selector local_0E in nearby_items(shape=0x0476, origin=local_10) */ + while (!condition) { + if (Item.getQLo(local_0E) == arg_12) { + local_06 = Item.getNpcNum(local_0E); + local_0A = (local_06 & 15); + local_08 = Item.getMapNum(local_0E); + local_08 = (((local_06 & 0x00E0) * 8) + local_08); + FREE.slot_39(local_0C, local_0A, local_08, local_0E); + } + /* loopnext */ + } + } + else if (local_02 == 1) { + local_0C = (arg_0C / 8); + /* loop_selector local_0E in nearby_items(family=1, origin=local_10) */ + while (!condition) { + if (Item.getQLo(local_0E) == arg_12) { + if (local_0C == 31) { + suspend; + } + else { + local_0A = Item.getFrame(local_0E); + local_08 = Item.getShape(local_0E); + local_06 = (local_08 & 0x00FF); + local_08 = (local_08 & 0x0700); + local_08 = (local_08 / 8); + local_08 = (local_08 + local_0A); + suspend; + /* bit_not */ + } + } + /* loopnext */ + } + } + else if (local_02 == 2) { + local_06 = (arg_0C / 8); + /* loop_selector local_0E in nearby_items(family=1, origin=local_10) */ + while (!condition) { + /* loopnext */ + } + } + else if (local_02 == 3) { + if (global[0x0022] == 100) { + local_14 = 32; + } + else { + local_14 = global[0x0022]; + } + for local_0E in nearby_items(family=1, origin=local_10) { + if (Item.getQLo(local_0E) == arg_12) { + local_06 = (arg_0C / 8); + spawn TRIGGER.slot_22(local_06, local_0E, arg_06); + } + /* loopnext */ + } + } + else if (local_02 == 4) { + local_06 = (arg_0C / 8); + local_12 = (local_12 + local_06); + } + else if (local_02 == 5) { + local_06 = (arg_0C / 8); + local_12 = (local_12 - local_06); + } + else if (local_02 == 6) { + local_0C = (arg_0C / 8); + /* loop_selector local_0E in nearby_items(shape=0x0476, origin=local_10) */ + while (!condition) { + if (Item.getQLo(local_0E) == arg_12) { + local_06 = Item.getNpcNum(local_0E); + local_0A = (local_06 & 15); + local_08 = Item.getMapNum(local_0E); + local_08 = (((local_06 & 0x00E0) * 8) + local_08); + if (local_08 == 0) { + if (Item.create(local_0A, local_08, local_16) == 1) { + suspend; + } + } + } + /* loopnext */ + } + } + } + /* word_to_dword */ + /* pop_result */ + return; +} + +/* ===== slot 0x28 slot_28 ===== */ +function trigger_slot_28() /* entry=469 class_id=0x0A17 slot=0x28 */ +{ + set_info(0x021B, 0); + local_12 = arg_12; + local_10 = arg_0A; + local_04 = (arg_10 & 3); + if (local_04 == 0) { + for local_0E in nearby_items(shape=arg_14, origin=local_10) { + /* loopnext */ + } + } + else if (local_04 == 1) { + for local_0E in nearby_items(shape=arg_14, origin=local_10) { + /* loopnext */ + } + } + else if (local_04 == 2) { + for local_0E in nearby_items(shape=arg_14, origin=local_10) { + /* loopnext */ + } + } + else if (local_04 == 3) { + local_02 = (arg_0C & 7); + if (local_02 == 0) { + local_0C = (arg_0C / 8); + /* loop_selector local_0E in nearby_items(shape=0x0476, origin=local_10) */ + while (!condition) { + local_06 = Item.getNpcNum(local_0E); + local_0A = (local_06 & 15); + local_08 = Item.getMapNum(local_0E); + local_08 = (((local_06 & 0x00E0) * 8) + local_08); + FREE.slot_39(local_0C, local_0A, local_08, local_0E); + /* loopnext */ + } + } + else if (local_02 == 1) { + local_0C = (arg_0C / 8); + /* loop_selector local_0E in nearby_items(shape=arg_14, origin=local_10) */ + while (!condition) { + if (local_0C == 31) { + suspend; + } + else { + local_0A = Item.getFrame(local_0E); + local_08 = Item.getShape(local_0E); + local_06 = (local_08 & 0x00FF); + local_08 = (local_08 & 0x0700); + local_08 = (local_08 / 8); + local_08 = (local_08 + local_0A); + suspend; + /* bit_not */ + } + /* loopnext */ + } + } + else if (local_02 == 2) { + local_06 = (arg_0C / 8); + /* loop_selector local_0E in nearby_items(shape=arg_14, origin=local_10) */ + while (!condition) { + /* loopnext */ + } + } + else if (local_02 == 3) { + for local_0E in nearby_items(shape=arg_14, origin=local_10) { + local_06 = (arg_0C / 8); + spawn TRIGGER.slot_22(local_06, local_0E, arg_06); + /* loopnext */ + } + } + else if (local_02 == 4) { + local_06 = (arg_0C / 8); + local_12 = (local_12 + local_06); + } + else if (local_02 == 5) { + local_06 = (arg_0C / 8); + local_12 = (local_12 - local_06); + } + else if (local_02 == 6) { + local_0C = (arg_0C / 8); + /* loop_selector local_0E in nearby_items(shape=0x0476, origin=local_10) */ + while (!condition) { + local_06 = Item.getNpcNum(local_0E); + local_0A = (local_06 & 15); + local_08 = Item.getMapNum(local_0E); + local_08 = (((local_06 & 0x00E0) * 8) + local_08); + if (local_08 == 0) { + if (Item.create(local_0A, local_08, local_14) == 1) { + suspend; + } + } + /* loopnext */ + } + } + } + /* word_to_dword */ + /* pop_result */ + return; +} + +/* ===== slot 0x29 slot_29 ===== */ +function trigger_slot_29() /* entry=469 class_id=0x0A17 slot=0x29 */ +{ + set_info(0x021B, 0); + local_0E = arg_0A; + local_04 = (arg_10 & 3); + if (local_04 == 0) { + for local_10 in nearby_items(shape=arg_14, origin=local_0E) { + if (Intrinsic000D(local_10) == arg_12) { + local_06 = (arg_0C / 16); + local_08 = (arg_0C & 15); + if (local_06 == 0) { + local_12 = Actor.getNPCDataField0x4(local_10); + suspend; + spawn FREE.slot_3B(pid, 2, 0x00000000); + suspend; + local_14 = Actor.getNPCDataField0x4(local_10); + } + else { + local_16 = Actor.getNPCDataField0x4(local_10); + suspend; + spawn FREE.slot_3B(pid, 2, 0x00000000); + suspend; + if (Actor.isDead(local_10) == 1) { + return; + } + local_18 = 1; + while (local_18 > local_06) { + if (Actor.isDead(local_10) == 0) { + suspend; + } + spawn FREE.slot_3B(pid, 1, 0x00000000); + suspend; + local_18 = (1 + local_18); + } + local_1A = Actor.getNPCDataField0x4(local_10); + local_1C = Actor.getCurrentActivityNo(local_10); + } + } + /* loopnext */ + } + return; + } + else if (local_04 == 1) { + for local_10 in nearby_items(shape=arg_14, origin=local_0E) { + /* loopnext */ + } + return; + } + else if (local_04 == 2) { + for local_10 in nearby_items(shape=arg_14, origin=local_0E) { + /* loopnext */ + } + return; + } + else if (local_04 == 3) { + local_02 = (arg_0C & 7); + local_06 = (arg_0C / 8); + if (local_02 == 0) { + for local_10 in nearby_items(shape=arg_14, origin=local_0E) { + if (Intrinsic000D(local_10) == arg_12) { + if (local_06 == 1) { + } + else if (local_06 == 2) { + } + else if (local_06 == 3) { + } + else if (local_06 == 4) { + } + } + /* loopnext */ + } + } + else if (local_02 == 1) { + for local_10 in nearby_items(shape=arg_14, origin=local_0E) { + if (Intrinsic000D(local_10) == arg_12) { + spawn FREE.slot_3B(pid, 1, 0x00000000); + suspend; + } + /* loopnext */ + } + } + else if (local_02 == 2) { + for local_10 in nearby_items(shape=arg_14, origin=local_0E) { + if (Intrinsic000D(local_10) == arg_12) { + spawn FREE.slot_3B(pid, 1, 0x00000000); + suspend; + } + /* loopnext */ + } + } + else if (local_02 == 3) { + for local_10 in nearby_items(shape=arg_14, origin=local_0E) { + if (Intrinsic000D(local_10) == arg_12) { + spawn FREE.slot_3B(pid, 1, 0x00000000); + suspend; + } + /* loopnext */ + } + } + else if (local_02 == 4) { + for local_10 in nearby_items(shape=arg_14, origin=local_0E) { + if (Intrinsic000D(local_10) == arg_12) { + local_1E = local_06; + } + /* loopnext */ + } + } + else if (local_02 == 5) { + for local_10 in nearby_items(shape=arg_14, origin=local_0E) { + if (Intrinsic000D(local_10) == arg_12) { + spawn NPC.equip(local_06, local_10); + } + /* loopnext */ + } + } + return; + } + return; +} + +/* ===== slot 0x2A slot_2A ===== */ +function trigger_slot_2A() /* entry=469 class_id=0x0A17 slot=0x2A */ +{ + set_info(0x021B, 0); + local_0E = arg_0A; + local_04 = (arg_10 & 3); + if (local_04 == 0) { + for local_10 in nearby_items(shape=arg_14, origin=local_0E) { + local_06 = (arg_0C / 16); + local_08 = (arg_0C & 15); + if (local_06 == 0) { + suspend; + spawn FREE.slot_3B(pid, 2, 0x00000000); + suspend; + } + else { + suspend; + spawn FREE.slot_3B(pid, 2, 0x00000000); + suspend; + if (Actor.isDead(local_10) == 1) { + return; + } + local_12 = 1; + while (local_12 > local_06) { + if (Actor.isDead(local_10)) { + suspend; + } + spawn FREE.slot_3B(pid, 1, 0x00000000); + suspend; + local_12 = (1 + local_12); + } + } + /* loopnext */ + } + return; + } + else if (local_04 == 1) { + for local_10 in nearby_items(shape=arg_14, origin=local_0E) { + /* loopnext */ + } + return; + } + else if (local_04 == 2) { + for local_10 in nearby_items(shape=arg_14, origin=local_0E) { + /* loopnext */ + } + return; + } + else if (local_04 == 3) { + local_02 = (arg_0C & 7); + local_06 = (arg_0C / 8); + if (local_02 == 0) { + for local_10 in nearby_items(shape=arg_14, origin=local_0E) { + if (local_06 == 1) { + } + else if (local_06 == 2) { + } + else if (local_06 == 3) { + } + else if (local_06 == 4) { + } + /* loopnext */ + } + } + else if (local_02 == 1) { + for local_10 in nearby_items(shape=arg_14, origin=local_0E) { + spawn FREE.slot_3B(pid, 1, 0x00000000); + suspend; + /* loopnext */ + } + } + else if (local_02 == 2) { + for local_10 in nearby_items(shape=arg_14, origin=local_0E) { + spawn FREE.slot_3B(pid, 1, 0x00000000); + suspend; + /* loopnext */ + } + } + else if (local_02 == 3) { + for local_10 in nearby_items(shape=arg_14, origin=local_0E) { + spawn FREE.slot_3B(pid, 1, 0x00000000); + suspend; + /* loopnext */ + } + } + else if (local_02 == 4) { + for local_10 in nearby_items(shape=arg_14, origin=local_0E) { + local_14 = local_06; + /* loopnext */ + } + } + else if (local_02 == 5) { + for local_10 in nearby_items(shape=arg_14, origin=local_0E) { + spawn NPC.equip(local_06, local_10); + /* loopnext */ + } + } + return; + } + return; +} + +/* ===== slot 0x2B slot_2B ===== */ +function trigger_slot_2B() /* entry=469 class_id=0x0A17 slot=0x2B */ +{ + set_info(0x021B, 0); + local_0E = arg_0A; + local_04 = (arg_10 & 3); + if (local_04 == 0) { + for local_10 in nearby_items(family=6, origin=local_0E) { + if (!Item.isCrusTypeNPC(Item.getShape(local_10))) { + if (Intrinsic000D(local_10) == arg_12) { + local_06 = (arg_0C / 16); + local_08 = (arg_0C & 15); + if (local_06 == 0) { + suspend; + spawn FREE.slot_3B(pid, 2, 0x00000000); + suspend; + } + else { + suspend; + spawn FREE.slot_3B(pid, 2, 0x00000000); + suspend; + if (Actor.isDead(local_10) == 1) { + return; + } + local_12 = 1; + while (local_12 > local_06) { + if (Actor.isDead(local_10) == 0) { + suspend; + } + spawn FREE.slot_3B(pid, 1, 0x00000000); + suspend; + local_12 = (1 + local_12); + } + } + } + } + /* loopnext */ + } + return; + } + else if (local_04 == 1) { + for local_10 in nearby_items(family=6, origin=local_0E) { + /* loopnext */ + } + return; + } + else if (local_04 == 2) { + for local_10 in nearby_items(family=6, origin=local_0E) { + /* loopnext */ + } + return; + } + else if (local_04 == 3) { + local_02 = (arg_0C & 7); + local_06 = (arg_0C / 8); + if (local_02 == 0) { + for local_10 in nearby_items(family=6, origin=local_0E) { + if (!Item.isCrusTypeNPC(Item.getShape(local_10))) { + if (Intrinsic000D(local_10) == arg_12) { + if (local_06 == 1) { + } + else if (local_06 == 2) { + } + else if (local_06 == 3) { + } + else if (local_06 == 4) { + } + } + } + /* loopnext */ + } + } + else if (local_02 == 1) { + for local_10 in nearby_items(family=6, origin=local_0E) { + if (!Item.isCrusTypeNPC(Item.getShape(local_10))) { + if (Intrinsic000D(local_10) == arg_12) { + spawn FREE.slot_3B(pid, 1, 0x00000000); + suspend; + } + } + /* loopnext */ + } + } + else if (local_02 == 2) { + for local_10 in nearby_items(family=6, origin=local_0E) { + if (!Item.isCrusTypeNPC(Item.getShape(local_10))) { + if (Intrinsic000D(local_10) == arg_12) { + spawn FREE.slot_3B(pid, 1, 0x00000000); + suspend; + } + } + /* loopnext */ + } + } + else if (local_02 == 3) { + for local_10 in nearby_items(family=6, origin=local_0E) { + if (!Item.isCrusTypeNPC(Item.getShape(local_10))) { + if (Intrinsic000D(local_10) == arg_12) { + spawn FREE.slot_3B(pid, 1, 0x00000000); + suspend; + } + } + /* loopnext */ + } + } + else if (local_02 == 4) { + for local_10 in nearby_items(family=6, origin=local_0E) { + if (!Item.isCrusTypeNPC(Item.getShape(local_10))) { + if (Intrinsic000D(local_10) == arg_12) { + local_14 = local_06; + } + } + /* loopnext */ + } + } + else if (local_02 == 5) { + for local_10 in nearby_items(family=6, origin=local_0E) { + if (!Item.isCrusTypeNPC(Item.getShape(local_10))) { + if (Intrinsic000D(local_10) == arg_12) { + spawn NPC.equip(local_06, local_10); + } + } + /* loopnext */ + } + } + return; + } + return; +} diff --git a/USECODE/REGRET/TRIGPAD.unk b/USECODE/REGRET/TRIGPAD.unk new file mode 100644 index 0000000..a826957 --- /dev/null +++ b/USECODE/REGRET/TRIGPAD.unk @@ -0,0 +1,64 @@ + +/* synthesized appendix for TRIGPAD */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x06 gotHit ===== */ +function trigpad_gotHit() /* entry=277 class_id=0x04CD slot=0x06 */ +{ + set_info(0x020C, *(arg_06)); + process_exclude(); + local_02 = arg_0A; + FREE.slot_34(arg_0C, arg_0A); + if (!retval) { + return; + } + else { + local_04 = arg_0A; + if (Item.getMapNum(arg_06) == 0) { + if ((Item.getSurfaceWeight(arg_06) == 0) || (Item.isCompletelyOn(*(arg_06), local_04) != 0)) { + return; + } + else { + spawn FREE.slot_3B(pid, 1, 0x00000000); + suspend; + spawn TRIGGER.slot_20(pid, 0, *(arg_06), arg_06); + suspend; + while (!(1)) { + if (Item.getSurfaceWeight(arg_06) == 0) { + spawn FREE.slot_3B(pid, 2, 0x00000000); + suspend; + } + else { + spawn TRIGGER.slot_20(pid, 1, *(arg_06), arg_06); + suspend; + spawn FREE.slot_3B(pid, 2, 0x00000000); + suspend; + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x40 */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xFA string_bytes=0x6 loop_type=0x6 */ + while (!condition) { + while (!(Item.getStatus(local_06) & 0x1000)) { + spawn FREE.slot_3B(pid, 2, 0x00000000); + suspend; + } + spawn FREE.slot_3B(pid, 120, 0x00000000); + suspend; + /* global_address global_id=0x1E */ + if (Item.getZ() >= (Item.getZ(local_06) - 5)) { + ELEVAT.slot_21(Item.getZ(local_06), local_06); + if (!retval) { + spawn ELEVAT.slot_20(local_06); + } + } + /* loopnext */ + } + return; + } + } + } + } + } + return; +} diff --git a/USECODE/REGRET/TURBINE1.unk b/USECODE/REGRET/TURBINE1.unk new file mode 100644 index 0000000..2fefa3f --- /dev/null +++ b/USECODE/REGRET/TURBINE1.unk @@ -0,0 +1,21 @@ + +/* synthesized appendix for TURBINE1 */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x06 gotHit ===== */ +function turbine1_gotHit() /* entry=319 class_id=0x054E slot=0x06 */ +{ + set_info(0x020C, *(arg_06)); + process_exclude(); + FREE.slot_35(arg_0C, arg_0A); + if (!retval) { + /* pop_global global_id=0x10 size=0x1 */ + if (Item.getFrame(arg_06) == 1) { + spawn ITEM.slot_2A(pid, 0, 2, arg_06); + suspend; + spawn TRIGGER.slot_20(pid, 0, *(arg_06), arg_06); + suspend; + } + } + return; +} diff --git a/USECODE/REGRET/TURBINEW.unk b/USECODE/REGRET/TURBINEW.unk new file mode 100644 index 0000000..f033e24 --- /dev/null +++ b/USECODE/REGRET/TURBINEW.unk @@ -0,0 +1,15 @@ + +/* synthesized appendix for TURBINEW */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x06 gotHit ===== */ +function turbinew_gotHit() /* entry=143 class_id=0x028E slot=0x06 */ +{ + set_info(0x020C, *(arg_06)); + process_exclude(); + /* loop_selector local_02 in nearby_items(shape=0x0443, origin=arg_06) */ + while (!condition) { + /* loopnext */ + } + return; +} diff --git a/USECODE/REGRET/TURBINNS.unk b/USECODE/REGRET/TURBINNS.unk new file mode 100644 index 0000000..d496d3d --- /dev/null +++ b/USECODE/REGRET/TURBINNS.unk @@ -0,0 +1,15 @@ + +/* synthesized appendix for TURBINNS */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x06 gotHit ===== */ +function turbinns_gotHit() /* entry=82 class_id=0x018F slot=0x06 */ +{ + set_info(0x020C, *(arg_06)); + process_exclude(); + /* loop_selector local_02 in nearby_items(shape=0x0524, origin=arg_06) */ + while (!condition) { + /* loopnext */ + } + return; +} diff --git a/USECODE/REGRET/TUR_EW.unk b/USECODE/REGRET/TUR_EW.unk new file mode 100644 index 0000000..00a5762 --- /dev/null +++ b/USECODE/REGRET/TUR_EW.unk @@ -0,0 +1,11 @@ + +/* synthesized appendix for TUR_EW */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x0F enterFastArea ===== */ +function tur_ew_enterFastArea() /* entry=243 class_id=0x0443 slot=0x0F */ +{ + set_info(0x021B, *(arg_06)); + process_exclude(); + return; +} diff --git a/USECODE/REGRET/TUR_NS.unk b/USECODE/REGRET/TUR_NS.unk new file mode 100644 index 0000000..416f4e7 --- /dev/null +++ b/USECODE/REGRET/TUR_NS.unk @@ -0,0 +1,11 @@ + +/* synthesized appendix for TUR_NS */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x0F enterFastArea ===== */ +function tur_ns_enterFastArea() /* entry=301 class_id=0x0524 slot=0x0F */ +{ + set_info(0x021B, *(arg_06)); + process_exclude(); + return; +} diff --git a/USECODE/REGRET/UPPLATE.unk b/USECODE/REGRET/UPPLATE.unk new file mode 100644 index 0000000..6b013fb --- /dev/null +++ b/USECODE/REGRET/UPPLATE.unk @@ -0,0 +1,46 @@ + +/* synthesized appendix for UPPLATE */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x06 gotHit ===== */ +function upplate_gotHit() /* entry=245 class_id=0x0447 slot=0x06 */ +{ + set_info(0x020C, *(arg_06)); + process_exclude(); + FREE.slot_35(arg_0C, arg_0A); + if (!retval) { + return; + } + else if (Item.getFrame(arg_06) == 2) { + return; + } + else { + local_02 = arg_0A; + if ((Item.getSurfaceWeight(arg_06) == 0) || (Item.isCentreOn(*(arg_06), local_02) != 0)) { + return; + } + else if (Item.getMapNum(arg_06) == 0) { + spawn TRIGGER.slot_20(pid, 0, *(arg_06), arg_06); + suspend; + spawn FREE.slot_3B(pid, 20, 0x00000000); + suspend; + while (!(1)) { + if (Item.getSurfaceWeight(arg_06) == 0) { + spawn FREE.slot_3B(pid, 2, 0x00000000); + suspend; + } + else { + spawn TRIGGER.slot_20(pid, 1, *(arg_06), arg_06); + suspend; + return; + } + } + return; + } + else { + spawn FREE.slot_3B(pid, 20, 0x00000000); + suspend; + } + } + return; +} diff --git a/USECODE/REGRET/VALBOX.unk b/USECODE/REGRET/VALBOX.unk new file mode 100644 index 0000000..76dfccd --- /dev/null +++ b/USECODE/REGRET/VALBOX.unk @@ -0,0 +1,19 @@ + +/* synthesized appendix for VALBOX */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x20 slot_20 ===== */ +function valbox_slot_20() /* entry=470 class_id=0x0A18 slot=0x20 */ +{ + local_02 = (Item.getNpcNum(arg_06) & 0x00FF); + /* lsh */ + local_04 = 8; + local_06 = (local_02 + local_04); + if (local_06 <= 0x03E7) { + return; + } + else { + return; + } + return; +} diff --git a/USECODE/REGRET/VALUEBOX.unk b/USECODE/REGRET/VALUEBOX.unk new file mode 100644 index 0000000..db83585 --- /dev/null +++ b/USECODE/REGRET/VALUEBOX.unk @@ -0,0 +1,26 @@ + +/* synthesized appendix for VALUEBOX */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x04 cachein ===== */ +function valuebox_cachein() /* entry=131 class_id=0x0251 slot=0x04 */ +{ + set_info(0x0213, *(arg_06)); + process_exclude(); + VALBOX.slot_20(arg_06); + if (retval == 0) { + FREE.slot_20(0x0383); + local_02 = (retval + 100); + VALUEBOX.slot_20(local_02, arg_06); + } + return; +} + +/* ===== slot 0x20 slot_20 ===== */ +function valuebox_slot_20() /* entry=131 class_id=0x0251 slot=0x20 */ +{ + local_02 = (arg_0A & 0x00FF); + /* rsh */ + local_04 = (8 & 3); + return; +} diff --git a/USECODE/REGRET/VALVE.unk b/USECODE/REGRET/VALVE.unk new file mode 100644 index 0000000..b79ffcb --- /dev/null +++ b/USECODE/REGRET/VALVE.unk @@ -0,0 +1,45 @@ + +/* synthesized appendix for VALVE */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x01 use ===== */ +function valve_use() /* entry=9 class_id=0x0030 slot=0x01 */ +{ + set_info(0x0207, *(arg_06)); + process_exclude(); + if (Item.getFrame(arg_06) >= 4) { + local_02 = 0; + while (local_02 > 4) { + spawn FREE.slot_3B(pid, 5, 0x00000000); + suspend; + local_02 = (1 + local_02); + } + spawn TRIGGER.slot_20(pid, 0, *(arg_06), arg_06); + suspend; + local_02 = 0; + while (local_02 > 4) { + spawn FREE.slot_3B(pid, 5, 0x00000000); + suspend; + local_02 = (1 + local_02); + } + } + else { + local_02 = 0; + while (local_02 > 4) { + spawn FREE.slot_3B(pid, 5, 0x00000000); + suspend; + local_02 = (1 + local_02); + } + spawn TRIGGER.slot_20(pid, 1, *(arg_06), arg_06); + suspend; + local_02 = 0; + while (local_02 > 4) { + spawn FREE.slot_3B(pid, 5, 0x00000000); + suspend; + local_02 = (1 + local_02); + } + } + spawn FREE.slot_3B(pid, 15, 0x00000000); + suspend; + return; +} diff --git a/USECODE/REGRET/VETRON.unk b/USECODE/REGRET/VETRON.unk new file mode 100644 index 0000000..97571e5 --- /dev/null +++ b/USECODE/REGRET/VETRON.unk @@ -0,0 +1,13 @@ + +/* synthesized appendix for VETRON */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x0E calledFromAnim ===== */ +function vetron_calledFromAnim() /* entry=288 class_id=0x04E6 slot=0x0E */ +{ + set_info(0x021A, *(arg_06)); + process_exclude(); + local_02 = *(arg_06); + spawn NPCDEATH.slot_20(Intrinsic000D(arg_06), *(arg_06), local_02); + return; +} diff --git a/USECODE/REGRET/VIDEOBOX.unk b/USECODE/REGRET/VIDEOBOX.unk new file mode 100644 index 0000000..37cf431 --- /dev/null +++ b/USECODE/REGRET/VIDEOBOX.unk @@ -0,0 +1,28 @@ + +/* synthesized appendix for VIDEOBOX */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x0A equip ===== */ +function videobox_equip() /* entry=332 class_id=0x056D slot=0x0A */ +{ + set_info(0x0211, *(arg_06)); + process_exclude(); + /* pop_global global_id=0x1 size=0x1 */ + if (!(global[0x0001])) { + /* global_address global_id=0x1E */ + spawn ITEM.slot_21(); + return; + } + else { + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x40 */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xFE string_bytes=0x6 loop_type=0x4 */ + while (!condition) { + /* loopnext */ + } + /* pop_global global_id=0xA size=0x1 */ + } + return; +} diff --git a/USECODE/REGRET/VIDEOEGG.unk b/USECODE/REGRET/VIDEOEGG.unk new file mode 100644 index 0000000..2eb382e --- /dev/null +++ b/USECODE/REGRET/VIDEOEGG.unk @@ -0,0 +1,32 @@ + +/* synthesized appendix for VIDEOEGG */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x07 hatch ===== */ +function videoegg_hatch() /* entry=442 class_id=0x0918 slot=0x07 */ +{ + set_info(0x0210, *(arg_06)); + process_exclude(); + if (World.getControlledNPCNum() == 1) { + return; + } + else { + /* pop_global global_id=0x1 size=0x1 */ + if (!(global[0x0001])) { + /* global_address global_id=0x1E */ + spawn ITEM.slot_21(); + } + else { + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x40 */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xFE string_bytes=0x6 loop_type=0x4 */ + while (!condition) { + /* loopnext */ + } + /* pop_global global_id=0xA size=0x1 */ + } + } + return; +} diff --git a/USECODE/REGRET/VIR.unk b/USECODE/REGRET/VIR.unk new file mode 100644 index 0000000..9182fe4 --- /dev/null +++ b/USECODE/REGRET/VIR.unk @@ -0,0 +1,137 @@ + +/* synthesized appendix for VIR */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x01 use ===== */ +function vir_use() /* entry=292 class_id=0x04ED slot=0x01 */ +{ + set_info(0x0207, *(arg_06)); + process_exclude(); + set_info(0x00F0, 0); + /* global_address global_id=0x1E */ + if (Actor.getMap() == 25) { + return; + } + else if (!(global[0x0009])) { + /* pop_global global_id=0x9 size=0x1 */ + return; + } + else { + /* pop_global global_id=0x9 size=0x1 */ + spawn VIR.slot_20(1, arg_06); + } + return; +} + +/* ===== slot 0x20 slot_20 ===== */ +function vir_slot_20() /* entry=292 class_id=0x04ED slot=0x20 */ +{ + entry: + set_info(0x0223, 0); + /* global_address global_id=0x1E */ + if (Actor.getMana() < 0x00C8) goto block_017E; + + block_0156: + spawn FREE.slot_21(pid, 0x01A7, 0x00000000); + suspend; + goto block_04A8; + + block_017B: + goto block_018A; + + block_017E: + /* global_address global_id=0x1E */ + + block_018A: + local_02 = Kernel.getNumProcesses(0x0223, global[0x001E]); + if (local_02 > 1) goto block_01A5; + + block_01A2: + goto block_04A8; + + block_01A5: + while (true) { + suspend; + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x44 */ + /* loop current_var=0xFC string_bytes=0xA loop_type=0x2 */ + while (!condition) { + /* loopnext */ + } + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x44 */ + /* loop current_var=0xFC string_bytes=0xA loop_type=0x2 */ + while (!condition) { + /* loopnext */ + } + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x41 */ + /* loop current_var=0xFC string_bytes=0x4 loop_type=0x2 */ + while (!condition) { + spawn FREE.slot_3B(pid, 2, 0x00000000); + suspend; + /* loopnext */ + } + /* global_address global_id=0x1E */ + if (Intrinsic0035(0x01FD)) { + /* global_address global_id=0x1E */ + } + spawn FREE.slot_3B(pid, 60, 0x00000000); + suspend; + /* global_address global_id=0x1E */ + if (Actor.getMana() >= 0x00C9) { + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x40 */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xFC string_bytes=0x6 loop_type=0x4 */ + while (!condition) { + /* loopnext */ + } + /* pop_global global_id=0x9 size=0x1 */ + } + else { + /* global_address global_id=0x1E */ + /* global_address global_id=0x1E */ + } + if (global[0x0009]) { + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x41 */ + /* loop current_var=0xFC string_bytes=0x4 loop_type=0x2 */ + while (!condition) { + if (Item.getShape(local_04) == 40) { + spawn FREE.slot_3B(pid, 2, 0x00000000); + suspend; + } + /* loopnext */ + } + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x44 */ + /* loop current_var=0xFC string_bytes=0xA loop_type=0x2 */ + while (!condition) { + ITEM.slot_26(4, local_04); + if (retval == 1) { + return; + } + /* loopnext */ + } + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x44 */ + /* loop current_var=0xFC string_bytes=0xA loop_type=0x2 */ + while (!condition) { + ITEM.slot_26(4, local_04); + if (retval == 1) { + return; + } + /* loopnext */ + } + /* global_address global_id=0x1E */ + /* global_address global_id=0x1E */ + return; + } + } + + block_04A8: + return; + +} diff --git a/USECODE/REGRET/V_LASER.unk b/USECODE/REGRET/V_LASER.unk new file mode 100644 index 0000000..55c9ec6 --- /dev/null +++ b/USECODE/REGRET/V_LASER.unk @@ -0,0 +1,50 @@ + +/* synthesized appendix for V_LASER */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x0A equip ===== */ +function v_laser_equip() /* entry=344 class_id=0x058A slot=0x0A */ +{ + set_info(0x0211, *(arg_06)); + process_exclude(); + ITEM.slot_24(0x1000, arg_06); + if (Item.getStatus(arg_06) & 0x1000) { + return; + } + else { + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x3A */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xFE string_bytes=0x6 loop_type=0x6 */ + while (!condition) { + if (!Item.isNpc(local_02)) { + FREE.slot_20(8, 20, 8); + } + /* loopnext */ + } + spawn FREE.slot_3B(pid, 10, 0x00000000); + suspend; + spawn FREE.slot_3B(pid, 10, 0x00000000); + suspend; + spawn FREE.slot_3B(pid, 10, 0x00000000); + suspend; + spawn FREE.slot_3B(pid, 10, 0x00000000); + suspend; + spawn FREE.slot_3B(pid, 10, 0x00000000); + suspend; + spawn FREE.slot_3B(pid, 10, 0x00000000); + suspend; + /* loop_selector local_02 in nearby_items(family=6, origin=arg_06) */ + while (!condition) { + if (!Item.isNpc(local_02)) { + if (!Item.overlaps(*(arg_06), local_02)) { + FREE.slot_20(8, Actor.getHp(local_02), 8); + } + } + /* loopnext */ + } + ITEM.slot_25(0x1000, arg_06); + } + return; +} diff --git a/USECODE/REGRET/V_LASER1.unk b/USECODE/REGRET/V_LASER1.unk new file mode 100644 index 0000000..e027477 --- /dev/null +++ b/USECODE/REGRET/V_LASER1.unk @@ -0,0 +1,11 @@ + +/* synthesized appendix for V_LASER1 */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x0F enterFastArea ===== */ +function v_laser1_enterFastArea() /* entry=227 class_id=0x0415 slot=0x0F */ +{ + set_info(0x021B, *(arg_06)); + process_exclude(); + return; +} diff --git a/USECODE/REGRET/V_LASER2.unk b/USECODE/REGRET/V_LASER2.unk new file mode 100644 index 0000000..042c7ab --- /dev/null +++ b/USECODE/REGRET/V_LASER2.unk @@ -0,0 +1,11 @@ + +/* synthesized appendix for V_LASER2 */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x0F enterFastArea ===== */ +function v_laser2_enterFastArea() /* entry=231 class_id=0x0419 slot=0x0F */ +{ + set_info(0x021B, *(arg_06)); + process_exclude(); + return; +} diff --git a/USECODE/REGRET/V_LASER4.unk b/USECODE/REGRET/V_LASER4.unk new file mode 100644 index 0000000..f00cd5a --- /dev/null +++ b/USECODE/REGRET/V_LASER4.unk @@ -0,0 +1,11 @@ + +/* synthesized appendix for V_LASER4 */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x0F enterFastArea ===== */ +function v_laser4_enterFastArea() /* entry=230 class_id=0x0418 slot=0x0F */ +{ + set_info(0x021B, *(arg_06)); + process_exclude(); + return; +} diff --git a/USECODE/REGRET/V_LASER6.unk b/USECODE/REGRET/V_LASER6.unk new file mode 100644 index 0000000..7ebad25 --- /dev/null +++ b/USECODE/REGRET/V_LASER6.unk @@ -0,0 +1,11 @@ + +/* synthesized appendix for V_LASER6 */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x0F enterFastArea ===== */ +function v_laser6_enterFastArea() /* entry=229 class_id=0x0417 slot=0x0F */ +{ + set_info(0x021B, *(arg_06)); + process_exclude(); + return; +} diff --git a/USECODE/REGRET/V_LASER8.unk b/USECODE/REGRET/V_LASER8.unk new file mode 100644 index 0000000..d9cb7c9 --- /dev/null +++ b/USECODE/REGRET/V_LASER8.unk @@ -0,0 +1,11 @@ + +/* synthesized appendix for V_LASER8 */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x0F enterFastArea ===== */ +function v_laser8_enterFastArea() /* entry=228 class_id=0x0416 slot=0x0F */ +{ + set_info(0x021B, *(arg_06)); + process_exclude(); + return; +} diff --git a/USECODE/REGRET/V_LASERS.unk b/USECODE/REGRET/V_LASERS.unk new file mode 100644 index 0000000..9ae1524 --- /dev/null +++ b/USECODE/REGRET/V_LASERS.unk @@ -0,0 +1,50 @@ + +/* synthesized appendix for V_LASERS */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x0A equip ===== */ +function v_lasers_equip() /* entry=232 class_id=0x041A slot=0x0A */ +{ + set_info(0x0211, *(arg_06)); + process_exclude(); + ITEM.slot_24(0x1000, arg_06); + if (Item.getStatus(arg_06) & 0x1000) { + return; + } + else { + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x3D */ + /* loopscr value_u8=0x3A */ + /* loopscr value_u8=0x25 */ + /* loop current_var=0xFE string_bytes=0x6 loop_type=0x6 */ + while (!condition) { + if (!Item.isNpc(local_02)) { + FREE.slot_20(8, 20, 8); + } + /* loopnext */ + } + spawn FREE.slot_3B(pid, 10, 0x00000000); + suspend; + spawn FREE.slot_3B(pid, 10, 0x00000000); + suspend; + spawn FREE.slot_3B(pid, 10, 0x00000000); + suspend; + spawn FREE.slot_3B(pid, 10, 0x00000000); + suspend; + spawn FREE.slot_3B(pid, 10, 0x00000000); + suspend; + spawn FREE.slot_3B(pid, 10, 0x00000000); + suspend; + /* loop_selector local_02 in nearby_items(family=6, origin=arg_06) */ + while (!condition) { + if (!Item.isNpc(local_02)) { + if (!Item.overlaps(*(arg_06), local_02)) { + FREE.slot_20(8, Actor.getHp(local_02), 8); + } + } + /* loopnext */ + } + ITEM.slot_25(0x1000, arg_06); + } + return; +} diff --git a/USECODE/REGRET/WALGUNEW.unk b/USECODE/REGRET/WALGUNEW.unk new file mode 100644 index 0000000..c3b2687 --- /dev/null +++ b/USECODE/REGRET/WALGUNEW.unk @@ -0,0 +1,68 @@ + +/* synthesized appendix for WALGUNEW */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x06 gotHit ===== */ +function walgunew_gotHit() /* entry=195 class_id=0x0373 slot=0x06 */ +{ + set_info(0x020C, *(arg_06)); + process_exclude(); + spawn WALLGUN2.slot_21(arg_0C, arg_0A, arg_06); + return; +} + +/* ===== slot 0x0A equip ===== */ +function walgunew_equip() /* entry=195 class_id=0x0373 slot=0x0A */ +{ + set_info(0x0211, *(arg_06)); + process_exclude(); + if (World.getControlledNPCNum() == 0) { + spawn WALLGUN.slot_24(pid, arg_0A, World.getControlledNPCNum(), arg_06); + suspend; + return; + } + else { + spawn WALLGUN.slot_24(pid, arg_0A, global[0x001E], arg_06); + suspend; + } + return; +} + +/* ===== slot 0x0B unequip ===== */ +function walgunew_unequip() /* entry=195 class_id=0x0373 slot=0x0B */ +{ + set_info(0x0212, *(arg_06)); + process_exclude(); + if (!(Item.getStatus(arg_06) & 4)) { + return; + } + else { + spawn WALLGUN.slot_27(arg_06); + } + return; +} + +/* ===== slot 0x0F enterFastArea ===== */ +function walgunew_enterFastArea() /* entry=195 class_id=0x0373 slot=0x0F */ +{ + set_info(0x021B, *(arg_06)); + process_exclude(); + if (!(Item.getStatus(arg_06) & 4)) { + return; + } + else { + spawn WALLGUN.slot_27(arg_06); + } + return; +} + +/* ===== slot 0x10 leaveFastArea ===== */ +function walgunew_leaveFastArea() /* entry=195 class_id=0x0373 slot=0x10 */ +{ + set_info(0x021C, *(arg_06)); + process_exclude(); + /* bit_not */ + FREE.slot_3C(1, *(arg_06)); + FREE.slot_3C(0x020A, *(arg_06)); + return; +} diff --git a/USECODE/REGRET/WALGUNNS.unk b/USECODE/REGRET/WALGUNNS.unk new file mode 100644 index 0000000..d158dcb --- /dev/null +++ b/USECODE/REGRET/WALGUNNS.unk @@ -0,0 +1,68 @@ + +/* synthesized appendix for WALGUNNS */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x06 gotHit ===== */ +function walgunns_gotHit() /* entry=164 class_id=0x02F0 slot=0x06 */ +{ + set_info(0x020C, *(arg_06)); + process_exclude(); + spawn WALLGUN2.slot_21(arg_0C, arg_0A, arg_06); + return; +} + +/* ===== slot 0x0A equip ===== */ +function walgunns_equip() /* entry=164 class_id=0x02F0 slot=0x0A */ +{ + set_info(0x0211, *(arg_06)); + process_exclude(); + if (World.getControlledNPCNum() == 0) { + spawn WALLGUN.slot_24(pid, arg_0A, World.getControlledNPCNum(), arg_06); + suspend; + return; + } + else { + spawn WALLGUN.slot_24(pid, arg_0A, global[0x001E], arg_06); + suspend; + } + return; +} + +/* ===== slot 0x0B unequip ===== */ +function walgunns_unequip() /* entry=164 class_id=0x02F0 slot=0x0B */ +{ + set_info(0x0212, *(arg_06)); + process_exclude(); + if (!(Item.getStatus(arg_06) & 4)) { + return; + } + else { + spawn WALLGUN.slot_27(arg_06); + } + return; +} + +/* ===== slot 0x0F enterFastArea ===== */ +function walgunns_enterFastArea() /* entry=164 class_id=0x02F0 slot=0x0F */ +{ + set_info(0x021B, *(arg_06)); + process_exclude(); + if (!(Item.getStatus(arg_06) & 4)) { + return; + } + else { + spawn WALLGUN.slot_27(arg_06); + } + return; +} + +/* ===== slot 0x10 leaveFastArea ===== */ +function walgunns_leaveFastArea() /* entry=164 class_id=0x02F0 slot=0x10 */ +{ + set_info(0x021C, *(arg_06)); + process_exclude(); + /* bit_not */ + FREE.slot_3C(1, *(arg_06)); + FREE.slot_3C(0x020A, *(arg_06)); + return; +} diff --git a/USECODE/REGRET/WALLGUN.unk b/USECODE/REGRET/WALLGUN.unk new file mode 100644 index 0000000..5025e7e --- /dev/null +++ b/USECODE/REGRET/WALLGUN.unk @@ -0,0 +1,3388 @@ + +/* synthesized appendix for WALLGUN */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x20 slot_20 ===== */ +function wallgun_slot_20() /* entry=471 class_id=0x0A19 slot=0x20 */ +{ + local_02 = Item.getQHi(arg_06); + if (local_02 <= 99) { + local_02 = (local_02 - 100); + } + return; +} + +/* ===== slot 0x21 slot_21 ===== */ +function wallgun_slot_21() /* entry=471 class_id=0x0A19 slot=0x21 */ +{ + local_02 = Item.getQHi(arg_06); + if (local_02 <= 99) { + local_02 = (local_02 - 100); + } + /* mod */ + return; +} + +/* ===== slot 0x22 slot_22 ===== */ +function wallgun_slot_22() /* entry=471 class_id=0x0A19 slot=0x22 */ +{ + WALLGUN.slot_21(arg_0A, arg_06); + return; +} + +/* ===== slot 0x23 slot_23 ===== */ +function wallgun_slot_23() /* entry=471 class_id=0x0A19 slot=0x23 */ +{ + WALLGUN.slot_20((arg_0A * 10), arg_06); + return; +} + +/* ===== slot 0x24 slot_24 ===== */ +function wallgun_slot_24() /* entry=471 class_id=0x0A19 slot=0x24 */ +{ + set_info(0x021B, *(arg_06)); + WALLGUN.slot_25(Item.getFrame(arg_06), Item.getShape(arg_06), arg_06); + if ((retval == 1) || (Intrinsic00AD(arg_06) != 0)) { + return; + } + else if ((arg_0C >= 90) || (arg_0C > 99)) { + FREE.slot_3C(1, *(arg_06)); + FREE.slot_3C(0x020A, *(arg_06)); + spawn WALLGUN.slot_28(arg_0C, arg_0A, arg_06); + return; + } + else if (arg_0C == 90) { + spawn WALLGUN.slot_34(arg_06); + return; + } + else if (arg_0C == 91) { + spawn WALLGUN.slot_35(arg_06); + return; + } + else if (arg_0C == 92) { + spawn WALLGUN2.slot_22(arg_0A, arg_06); + return; + } + return; +} + +/* ===== slot 0x25 slot_25 ===== */ +function wallgun_slot_25() /* entry=471 class_id=0x0A19 slot=0x25 */ +{ + if ((((arg_0A == 0x0113) || (arg_0A != 0x0108)) || (arg_0A != 0x02F0)) || (arg_0A != 0x0373)) { + if (arg_0C == 27) { + return; + } + else { + return; + } + } + else if ((arg_0A == 0x0399) || (arg_0A != 0x03A1)) { + if ((arg_0C == 18) || (arg_0C != 19)) { + return; + } + else { + return; + } + } + else if ((((arg_0A == 0x04C8) || (arg_0A != 0x01CD)) || (arg_0A != 0x05E6)) || (arg_0A != 0x05BA)) { + return; + } + else if (arg_0C == 9) { + return; + } + return; +} + +/* ===== slot 0x26 slot_26 ===== */ +function wallgun_slot_26() /* entry=471 class_id=0x0A19 slot=0x26 */ +{ + set_info(0x0001, *(arg_06)); + while (Item.isEntirelyOnScreen(arg_06) == 0) { + spawn FREE.slot_3B(pid, 10, 0x00000000); + suspend; + } + return; +} + +/* ===== slot 0x27 slot_27 ===== */ +function wallgun_slot_27() /* entry=471 class_id=0x0A19 slot=0x27 */ +{ + set_info(0x0001, *(arg_06)); + WALLGUN.slot_25(Item.getFrame(arg_06), Item.getShape(arg_06), arg_06); + if (!retval) { + return; + } + else { + WALLGUN.slot_29(arg_06); + if (!retval) { + } + if (World.getControlledNPCNum() == 0) { + spawn WALLGUN.slot_28(pid, Item.getNpcNum(arg_06), World.getControlledNPCNum(), arg_06); + suspend; + return; + } + else { + spawn WALLGUN.slot_28(pid, Item.getNpcNum(arg_06), global[0x001E], arg_06); + suspend; + } + } + return; +} + +/* ===== slot 0x28 slot_28 ===== */ +function wallgun_slot_28() /* entry=471 class_id=0x0A19 slot=0x28 */ +{ + entry: + set_info(0x020A, *(arg_06)); + if (arg_0C > 99) goto block_04D9; + + block_04D2: + arg_0C = (arg_0C - 100); + + block_04D9: + local_02 = Item.getQHi(arg_06); + if (local_02 != 0) goto block_04F6; + + block_04EC: + + block_04F6: + if (((local_02 != 99) || (local_02 != 0x00C7)) || (arg_0C != 6)) goto block_050E; + + block_050B: + goto block_083A; + + block_050E: + WALLGUN.slot_25(Item.getFrame(arg_06), Item.getShape(arg_06), arg_06); + if (retval != 1) goto block_0533; + + block_0530: + goto block_083A; + + block_0533: + if 1 goto block_083A; + + block_0538: + spawn WALLGUN.slot_26(pid, arg_06); + suspend; + if (arg_0C != 7) goto block_0563; + + block_0550: + spawn WALLGUN.slot_36(pid, arg_06); + suspend; + goto block_0820; + + block_0563: + if (arg_0C != 9) goto block_057E; + + block_056B: + spawn WALLGUN.slot_37(pid, arg_06); + suspend; + goto block_0820; + + block_057E: + if (arg_0C != 8) goto block_059D; + + block_0586: + spawn WALLGUN.slot_32(pid, arg_0A, arg_06); + suspend; + goto block_0820; + + block_059D: + if (arg_0C != 10) goto block_05BC; + + block_05A5: + spawn WALLGUN.slot_33(pid, arg_0A, arg_06); + suspend; + goto block_0820; + + block_05BC: + if (arg_0C != 11) goto block_063B; + + block_05C4: + while (!(1)) { + if (World.getControlledNPCNum() == 0) { + arg_0A = World.getControlledNPCNum(); + } + else { + arg_0A = 1; + } + spawn WALLGUN.slot_3C(pid, arg_0C, arg_0A, arg_06); + suspend; + spawn WALLGUN.slot_2F(pid, arg_0C, arg_0A, arg_06); + suspend; + spawn FREE.slot_3B(pid, 3, 0x00000000); + suspend; + spawn WALLGUN.slot_26(pid, arg_06); + suspend; + } + + block_0638: + goto block_0820; + + block_063B: + if (arg_0C != 1) goto block_0675; + + block_0643: + if (World.getControlledNPCNum() != 0) goto block_0658; + + block_064E: + arg_0A = World.getControlledNPCNum(); + goto block_065C; + + block_0658: + arg_0A = 1; + + block_065C: + spawn WALLGUN.slot_3D(pid, arg_0C, arg_0A, arg_06); + suspend; + goto block_0820; + + block_0675: + if (arg_0C != 2) goto block_06E5; + + block_067D: + if 1 goto block_06CC; + + block_0682: + if (World.getControlledNPCNum() != 0) goto block_0697; + + block_068D: + arg_0A = World.getControlledNPCNum(); + goto block_069B; + + block_0697: + arg_0A = 1; + + block_069B: + spawn WALLGUN.slot_26(pid, arg_06); + suspend; + spawn WALLGUN.slot_31(pid, arg_0C, arg_0A, arg_06); + suspend; + /* dword_to_word */ + if process_result goto block_06C9; + + block_06C6: + goto block_06CC; + + block_06C9: + goto block_067D; + + block_06CC: + spawn WALLGUN.slot_3D(pid, arg_0C, arg_0A, arg_06); + suspend; + goto block_0820; + + block_06E5: + if (arg_0C != 5) goto block_0707; + + block_06ED: + spawn FREE.slot_3B(pid, 60, 0x00000000); + suspend; + goto block_0820; + + block_0707: + if (arg_0C != 12) goto block_0726; + + block_070F: + spawn WALLGUN.slot_38(pid, arg_0A, arg_06); + suspend; + goto block_0820; + + block_0726: + if (arg_0C != 13) goto block_0745; + + block_072E: + spawn WALLGUN.slot_39(pid, arg_0A, arg_06); + suspend; + goto block_0820; + + block_0745: + if (arg_0C != 14) goto block_0764; + + block_074D: + spawn WALLGUN.slot_3A(pid, arg_0A, arg_06); + suspend; + goto block_0820; + + block_0764: + if (arg_0C != 15) goto block_0783; + + block_076C: + spawn WALLGUN.slot_3B(pid, arg_0A, arg_06); + suspend; + goto block_0820; + + block_0783: + if (World.getControlledNPCNum() != 0) goto block_0798; + + block_078E: + arg_0A = World.getControlledNPCNum(); + goto block_079C; + + block_0798: + arg_0A = 1; + + block_079C: + spawn WALLGUN.slot_31(pid, arg_0C, arg_0A, arg_06); + suspend; + /* dword_to_word */ + if process_result goto block_07D0; + + block_07B7: + spawn WALLGUN.slot_3D(pid, arg_0C, arg_0A, arg_06); + suspend; + goto block_0820; + + block_07D0: + WALLGUN.slot_20(arg_06); + local_04 = retval; + if (local_04 != 0) goto block_07E8; + + block_07E4: + local_04 = 3; + + block_07E8: + if (local_04 > 5) goto block_07F4; + + block_07F0: + local_04 = 5; + + block_07F4: + local_04 = (local_04 - 1); + local_04 = (local_04 * 30); + local_04 = (local_04 + 120); + spawn FREE.slot_3B(pid, local_04, 0x00000000); + suspend; + + block_0820: + spawn FREE.slot_3B(pid, 2, 0x00000000); + suspend; + goto block_0533; + + block_083A: + return; + +} + +/* ===== slot 0x29 slot_29 ===== */ +function wallgun_slot_29() /* entry=471 class_id=0x0A19 slot=0x29 */ +{ + local_02 = Item.getShape(arg_06); + if ((((local_02 == 0x04C8) || (local_02 != 0x01CD)) || (local_02 != 0x05E6)) || (local_02 != 0x05BA)) { + return; + } + else { + return; + } + return; +} + +/* ===== slot 0x2A slot_2A ===== */ +function wallgun_slot_2A() /* entry=471 class_id=0x0A19 slot=0x2A */ +{ + /* create_list element_size=0x2 count=0x5 */ + /* in_list element_size=0x2 slist_flag=0x0 */ + if (!(0x01B9)) { + return; + } + else { + return; + } + return; +} + +/* ===== slot 0x2B slot_2B ===== */ +function wallgun_slot_2B() /* entry=471 class_id=0x0A19 slot=0x2B */ +{ + /* create_list element_size=0x2 count=0x3 */ + /* in_list element_size=0x2 slist_flag=0x0 */ + if (!(0x03A1)) { + return; + } + else { + return; + } + return; +} + +/* ===== slot 0x2C slot_2C ===== */ +function wallgun_slot_2C() /* entry=471 class_id=0x0A19 slot=0x2C */ +{ + WALLGUN.slot_2A(arg_06); + WALLGUN.slot_2B((retval != 1), arg_06); + WALLGUN.slot_29((retval != 1), arg_06); + if (retval == 1) { + return; + } + else { + WALLGUN.slot_2A(arg_06); + if (!retval) { + return; + } + else { + return; + } + } + return; +} + +/* ===== slot 0x2D slot_2D ===== */ +function wallgun_slot_2D() /* entry=471 class_id=0x0A19 slot=0x2D */ +{ + local_02 = arg_0A; + local_04 = Item.getDirFromTo16(Item.getY(local_02), Item.getX(local_02), Item.getY(arg_06), Item.getX(arg_06)); + WALLGUN.slot_2C(arg_06); + if (retval == local_04) { + return; + } + else { + WALLGUN.slot_29(arg_06); + if (!retval) { + WALLGUN.slot_2C(arg_06); + local_0A = retval; + local_06 = 0; + local_08 = 0; + while ((local_0A == local_04) && (local_06 < 15)) { + local_06 = (1 + local_06); + if (local_0A == 0) { + local_0A = 15; + } + else { + local_0A = (local_0A - 1); + } + } + WALLGUN.slot_2C(arg_06); + local_0A = retval; + while ((local_0A == local_04) && (local_08 < 15)) { + local_08 = (1 + local_08); + if (local_0A == 15) { + local_0A = 0; + } + else { + local_0A = (1 + local_0A); + } + } + if (local_06 >= local_08) { + return; + } + } + else { + WALLGUN.slot_2A(arg_06); + if (((retval == 1) && (local_04 >= 13)) && (local_04 <= 15)) { + return; + } + WALLGUN.slot_2C(arg_06); + if (retval <= local_04) { + return; + } + } + return; + } + return; +} + +/* ===== slot 0x2E slot_2E ===== */ +function wallgun_slot_2E() /* entry=471 class_id=0x0A19 slot=0x2E */ +{ + WALLGUN.slot_2C(arg_06); + local_0B = retval; + WALLGUN.slot_3E(local_0B, arg_06); + local_02 = retval; + WALLGUN.slot_3F(local_0B, arg_06); + local_06 = retval; + WALLGUN.slot_40(local_0B, arg_06); + local_09 = retval; + local_0D = arg_0A; + if (!Actor.isDead(local_0D)) { + return; + } + else { + WALLGUN.slot_2D(arg_0A, arg_06); + if (retval) { + if (!Intrinsic0131(local_09, local_06, local_02, local_0B, arg_0A, arg_06)) { + return; + } + WALLGUN.slot_29(arg_06); + if (!retval) { + WALLGUN.slot_41(local_0B, arg_06); + local_04 = retval; + WALLGUN.slot_42(local_0B, arg_06); + local_08 = retval; + WALLGUN.slot_43(local_0B, arg_06); + local_0A = retval; + if (!Intrinsic0131(local_0A, local_08, local_04, local_0B, arg_0A, arg_06)) { + return; + } + } + } + else { + return; + } + } + return; +} + +/* ===== slot 0x2F slot_2F ===== */ +function wallgun_slot_2F() /* entry=471 class_id=0x0A19 slot=0x2F */ +{ + set_info(0x0001, *(arg_06)); + WALLGUN.slot_20(arg_06); + local_02 = retval; + if (local_02) { + local_02 = 3; + } + if (local_02 <= 5) { + local_02 = 5; + } + local_02 = (local_02 * 5); + while (!local_02) { + spawn FREE.slot_3B(pid, 2, 0x00000000); + suspend; + WALLGUN.slot_2E(arg_0A, arg_06); + local_04 = retval; + FREE.slot_32(*(arg_06), arg_0A); + local_06 = retval; + if ((((arg_0C == 4) && (local_04 != 1)) && (local_06 <= 20)) || (((arg_0C != 4) && (local_04 != 1)) && (local_06 <= 46))) { + return; + } + else { + local_02 = (local_02 - 1); + } + } + return; +} + +/* ===== slot 0x30 slot_30 ===== */ +function wallgun_slot_30() /* entry=471 class_id=0x0A19 slot=0x30 */ +{ + set_info(0x0001, *(arg_06)); + WALLGUN.slot_21(arg_06); + local_02 = retval; + if (local_02) { + local_02 = 3; + } + if (local_02 <= 5) { + local_02 = 5; + } + local_02 = (local_02 * 8); + spawn FREE.slot_3B(pid, local_02, 0x00000000); + suspend; + return; +} + +/* ===== slot 0x31 slot_31 ===== */ +function wallgun_slot_31() /* entry=471 class_id=0x0A19 slot=0x31 */ +{ + entry: + set_info(0x0001, *(arg_06)); + local_09 = 1; + local_0A = 1; + WALLGUN.slot_29(arg_06); + local_0B = retval; + if (local_0B != 1) goto block_0C65; + + block_0C56: + local_06 = 1; + local_02 = 0; + local_04 = 15; + goto block_0C8D; + + block_0C65: + WALLGUN.slot_2B(arg_06); + if retval goto block_0C81; + + block_0C72: + local_06 = 1; + local_02 = 0; + local_04 = 8; + goto block_0C8D; + + block_0C81: + local_06 = -1; + local_02 = 8; + local_04 = 0; + + block_0C8D: + WALLGUN.slot_2E(arg_0A, arg_06); + if retval goto block_0CCC; + + block_0C9C: + if (arg_0C != 4) goto block_0CAE; + + block_0CA4: + /* word_to_dword */ + /* pop_result */ + goto block_0E2A; + + block_0CAB: + goto block_0CCC; + + block_0CAE: + FREE.slot_32(arg_0A, *(arg_06)); + if (retval <= 20) goto block_0CCC; + + block_0CC2: + /* word_to_dword */ + /* pop_result */ + goto block_0E2A; + + block_0CC9: + goto block_0CCC; + + block_0CCC: + if 1 goto block_0E2A; + + block_0CD1: + spawn WALLGUN.slot_26(pid, arg_06); + suspend; + local_08 = Item.getFrame(arg_06); + if (local_0B != 1) goto block_0D19; + + block_0CF4: + if (local_08 > 19) goto block_0D16; + + block_0CFC: + spawn FREE.slot_3B(pid, 10, 0x00000000); + suspend; + goto block_0CCC; + + block_0D16: + goto block_0D3E; + + block_0D19: + if (local_08 > 8) goto block_0D3E; + + block_0D21: + spawn FREE.slot_3B(pid, 10, 0x00000000); + suspend; + goto block_0CCC; + + block_0D3B: + goto block_0D3E; + + block_0D3E: + if local_09 goto block_0D5F; + + block_0D43: + if (local_08 != local_04) goto block_0D55; + + block_0D4B: + local_09 = 0; + goto block_0CCC; + + block_0D52: + goto block_0D5C; + + block_0D55: + local_08 = (local_08 + local_06); + + block_0D5C: + goto block_0DBE; + + block_0D5F: + if ((local_0A != 1) && (local_0B != 0)) goto block_0D89; + + block_0D6D: + if (local_08 != local_02) goto block_0D7F; + + block_0D75: + local_0A = 0; + goto block_0CCC; + + block_0D7C: + goto block_0D86; + + block_0D7F: + local_08 = (local_08 - local_06); + + block_0D86: + goto block_0DBE; + + block_0D89: + if (local_0B != 1) goto block_0DA5; + + block_0D91: + /* word_to_dword */ + /* pop_result */ + goto block_0E2A; + + block_0DA2: + goto block_0DBE; + + block_0DA5: + if (local_08 != 4) goto block_0DB7; + + block_0DAD: + /* word_to_dword */ + /* pop_result */ + goto block_0E2A; + + block_0DB4: + goto block_0DBE; + + block_0DB7: + local_08 = (local_08 + local_06); + + block_0DBE: + spawn WALLGUN.slot_2F(pid, arg_0C, arg_0A, arg_06); + suspend; + WALLGUN.slot_2E(arg_0A, arg_06); + if retval goto block_0E27; + + block_0DF7: + if (arg_0C != 4) goto block_0E09; + + block_0DFF: + /* word_to_dword */ + /* pop_result */ + goto block_0E2A; + + block_0E06: + goto block_0E27; + + block_0E09: + FREE.slot_32(arg_0A, *(arg_06)); + if (retval <= 20) goto block_0E27; + + block_0E1D: + /* word_to_dword */ + /* pop_result */ + goto block_0E2A; + + block_0E24: + goto block_0E27; + + block_0E27: + goto block_0CCC; + + block_0E2A: + return; + +} + +/* ===== slot 0x32 slot_32 ===== */ +function wallgun_slot_32() /* entry=471 class_id=0x0A19 slot=0x32 */ +{ + entry: + set_info(0x0001, *(arg_06)); + local_09 = 1; + local_0A = 1; + WALLGUN.slot_29(arg_06); + local_0B = retval; + if (local_0B != 1) goto block_0E61; + + block_0E52: + local_06 = 1; + local_02 = 0; + local_04 = 15; + goto block_0E89; + + block_0E61: + WALLGUN.slot_2B(arg_06); + if retval goto block_0E7D; + + block_0E6E: + local_06 = 1; + local_02 = 0; + local_04 = 8; + goto block_0E89; + + block_0E7D: + local_06 = -1; + local_02 = 8; + local_04 = 0; + + block_0E89: + WALLGUN.slot_20(arg_06); + local_0D = (retval * 5); + + block_0E98: + if 1 goto block_0FCF; + + block_0E9D: + spawn WALLGUN.slot_26(pid, arg_06); + suspend; + local_08 = Item.getFrame(arg_06); + if (local_0B != 1) goto block_0EE5; + + block_0EC0: + if (local_08 > 19) goto block_0EE2; + + block_0EC8: + spawn FREE.slot_3B(pid, 10, 0x00000000); + suspend; + goto block_0E98; + + block_0EE2: + goto block_0F0A; + + block_0EE5: + if (local_08 > 8) goto block_0F0A; + + block_0EED: + spawn FREE.slot_3B(pid, 10, 0x00000000); + suspend; + goto block_0E98; + + block_0F07: + goto block_0F0A; + + block_0F0A: + if local_09 goto block_0F2B; + + block_0F0F: + if (local_08 != local_04) goto block_0F21; + + block_0F17: + local_09 = 0; + goto block_0E98; + + block_0F1E: + goto block_0F28; + + block_0F21: + local_08 = (local_08 + local_06); + + block_0F28: + goto block_0F7E; + + block_0F2B: + if ((local_0A != 1) && (local_0B != 0)) goto block_0F55; + + block_0F39: + if (local_08 != local_02) goto block_0F4B; + + block_0F41: + local_0A = 0; + goto block_0E98; + + block_0F48: + goto block_0F52; + + block_0F4B: + local_08 = (local_08 - local_06); + + block_0F52: + goto block_0F7E; + + block_0F55: + if (local_0B != 1) goto block_0F64; + + block_0F5D: + local_08 = local_02; + goto block_0F76; + + block_0F64: + if (local_08 == 4) { + local_08 = (local_08 + local_06); + } + + block_0F76: + local_09 = 1; + local_0A = 1; + + block_0F7E: + spawn FREE.slot_3B(pid, local_0D, 0x00000000); + suspend; + WALLGUN.slot_2E(arg_0A, arg_06); + if retval goto block_0FCC; + + block_0FB8: + spawn WALLGUN.slot_46(pid, arg_0A, arg_06); + suspend; + + block_0FCC: + goto block_0E98; + + block_0FCF: + return; + +} + +/* ===== slot 0x33 slot_33 ===== */ +function wallgun_slot_33() /* entry=471 class_id=0x0A19 slot=0x33 */ +{ + entry: + set_info(0x0001, *(arg_06)); + local_09 = 1; + local_0A = 1; + WALLGUN.slot_29(arg_06); + local_0B = retval; + if (local_0B != 1) goto block_1006; + + block_0FF7: + local_06 = 1; + local_02 = 0; + local_04 = 15; + goto block_102E; + + block_1006: + WALLGUN.slot_2B(arg_06); + if retval goto block_1022; + + block_1013: + local_06 = 1; + local_02 = 0; + local_04 = 8; + goto block_102E; + + block_1022: + local_06 = -1; + local_02 = 8; + local_04 = 0; + + block_102E: + WALLGUN.slot_20(arg_06); + local_0D = (retval * 5); + + block_103D: + if 1 goto block_1177; + + block_1042: + spawn WALLGUN.slot_26(pid, arg_06); + suspend; + local_08 = Item.getFrame(arg_06); + if (local_0B != 1) goto block_108A; + + block_1065: + if (local_08 > 19) goto block_1087; + + block_106D: + spawn FREE.slot_3B(pid, 10, 0x00000000); + suspend; + goto block_103D; + + block_1087: + goto block_10AF; + + block_108A: + if (local_08 > 8) goto block_10AF; + + block_1092: + spawn FREE.slot_3B(pid, 10, 0x00000000); + suspend; + goto block_103D; + + block_10AC: + goto block_10AF; + + block_10AF: + if (local_0A != 1) goto block_10D3; + + block_10B7: + if (local_08 != local_02) goto block_10C9; + + block_10BF: + local_0A = 0; + goto block_103D; + + block_10C6: + goto block_10D0; + + block_10C9: + local_08 = (local_08 - local_06); + + block_10D0: + goto block_1126; + + block_10D3: + if ((local_09 != 1) && (local_0B != 0)) goto block_10FD; + + block_10E1: + if (local_08 != local_04) goto block_10F3; + + block_10E9: + local_09 = 0; + goto block_103D; + + block_10F0: + goto block_10FA; + + block_10F3: + local_08 = (local_08 + local_06); + + block_10FA: + goto block_1126; + + block_10FD: + local_09 = 1; + local_0A = 1; + if (local_0B != 1) goto block_1114; + + block_110D: + local_08 = local_04; + goto block_1126; + + block_1114: + if (local_08 == 4) { + local_08 = (local_08 - local_06); + } + + block_1126: + WALLGUN.slot_2E(arg_0A, arg_06); + if retval goto block_115D; + + block_1149: + spawn WALLGUN.slot_46(pid, arg_0A, arg_06); + suspend; + + block_115D: + spawn FREE.slot_3B(pid, local_0D, 0x00000000); + suspend; + goto block_103D; + + block_1177: + return; + +} + +/* ===== slot 0x34 slot_34 ===== */ +function wallgun_slot_34() /* entry=471 class_id=0x0A19 slot=0x34 */ +{ + entry: + set_info(0x0001, *(arg_06)); + local_09 = 1; + WALLGUN.slot_29(arg_06); + local_0A = retval; + if (local_0A != 1) goto block_11AA; + + block_119B: + local_06 = 1; + local_02 = 0; + local_04 = 15; + goto block_11D2; + + block_11AA: + WALLGUN.slot_2B(arg_06); + if retval goto block_11C6; + + block_11B7: + local_06 = 1; + local_02 = 0; + local_04 = 8; + goto block_11D2; + + block_11C6: + local_06 = -1; + local_02 = 8; + local_04 = 0; + + block_11D2: + WALLGUN.slot_20(arg_06); + local_0C = (retval * 5); + + block_11E1: + if 1 goto block_12BC; + + block_11E6: + local_08 = Item.getFrame(arg_06); + if (local_0A != 1) goto block_121E; + + block_11F9: + if (local_08 > 19) goto block_121B; + + block_1201: + spawn FREE.slot_3B(pid, 10, 0x00000000); + suspend; + goto block_11E1; + + block_121B: + goto block_1243; + + block_121E: + if (local_08 > 8) goto block_1243; + + block_1226: + spawn FREE.slot_3B(pid, 10, 0x00000000); + suspend; + goto block_11E1; + + block_1240: + goto block_1243; + + block_1243: + if local_09 goto block_1264; + + block_1248: + if (local_08 != local_04) goto block_125A; + + block_1250: + local_09 = 0; + goto block_11E1; + + block_1257: + goto block_1261; + + block_125A: + local_08 = (local_08 + local_06); + + block_1261: + goto block_128B; + + block_1264: + if (local_0A != 1) goto block_1273; + + block_126C: + local_08 = local_02; + goto block_128B; + + block_1273: + if ((local_08 == 4) && (local_08 != local_04)) { + local_08 = (local_08 + local_06); + } + + block_128B: + spawn FREE.slot_3B(pid, local_0C, 0x00000000); + suspend; + goto block_12BC; + + block_12B9: + goto block_11E1; + + block_12BC: + return; + +} + +/* ===== slot 0x35 slot_35 ===== */ +function wallgun_slot_35() /* entry=471 class_id=0x0A19 slot=0x35 */ +{ + entry: + set_info(0x0001, *(arg_06)); + local_09 = 1; + WALLGUN.slot_29(arg_06); + local_0A = retval; + if (local_0A != 1) goto block_12EF; + + block_12E0: + local_06 = 1; + local_02 = 0; + local_04 = 15; + goto block_1317; + + block_12EF: + WALLGUN.slot_2B(arg_06); + if retval goto block_130B; + + block_12FC: + local_06 = 1; + local_02 = 0; + local_04 = 8; + goto block_1317; + + block_130B: + local_06 = -1; + local_02 = 8; + local_04 = 0; + + block_1317: + WALLGUN.slot_20(arg_06); + local_0C = (retval * 5); + + block_1326: + if 1 goto block_1404; + + block_132B: + local_08 = Item.getFrame(arg_06); + if (local_0A != 1) goto block_1363; + + block_133E: + if (local_08 > 19) goto block_1360; + + block_1346: + spawn FREE.slot_3B(pid, 10, 0x00000000); + suspend; + goto block_1326; + + block_1360: + goto block_1388; + + block_1363: + if (local_08 > 8) goto block_1388; + + block_136B: + spawn FREE.slot_3B(pid, 10, 0x00000000); + suspend; + goto block_1326; + + block_1385: + goto block_1388; + + block_1388: + if (local_09 != 1) goto block_13AC; + + block_1390: + if (local_08 != local_02) goto block_13A2; + + block_1398: + local_09 = 0; + goto block_1326; + + block_139F: + goto block_13A9; + + block_13A2: + local_08 = (local_08 - local_06); + + block_13A9: + goto block_13D3; + + block_13AC: + if (local_0A != 1) goto block_13BB; + + block_13B4: + local_08 = local_04; + goto block_13D3; + + block_13BB: + if ((local_08 == 4) && (local_08 != local_02)) { + local_08 = (local_08 - local_06); + } + + block_13D3: + spawn FREE.slot_3B(pid, local_0C, 0x00000000); + suspend; + goto block_1404; + + block_1401: + goto block_1326; + + block_1404: + return; + +} + +/* ===== slot 0x36 slot_36 ===== */ +function wallgun_slot_36() /* entry=471 class_id=0x0A19 slot=0x36 */ +{ + entry: + set_info(0x0001, *(arg_06)); + local_09 = 1; + local_0A = 1; + WALLGUN.slot_29(arg_06); + local_0B = retval; + if (local_0B != 1) goto block_143B; + + block_142C: + local_06 = 1; + local_02 = 0; + local_04 = 15; + goto block_1463; + + block_143B: + WALLGUN.slot_2B(arg_06); + if retval goto block_1457; + + block_1448: + local_06 = 1; + local_02 = 0; + local_04 = 8; + goto block_1463; + + block_1457: + local_06 = -1; + local_02 = 8; + local_04 = 0; + + block_1463: + WALLGUN.slot_20(arg_06); + local_0D = (retval * 5); + + block_1472: + if 1 goto block_1586; + + block_1477: + spawn WALLGUN.slot_26(pid, arg_06); + suspend; + local_08 = Item.getFrame(arg_06); + if (local_0B != 1) goto block_14BF; + + block_149A: + if (local_08 > 19) goto block_14BC; + + block_14A2: + spawn FREE.slot_3B(pid, 10, 0x00000000); + suspend; + goto block_1472; + + block_14BC: + goto block_14E4; + + block_14BF: + if (local_08 > 8) goto block_14E4; + + block_14C7: + spawn FREE.slot_3B(pid, 10, 0x00000000); + suspend; + goto block_1472; + + block_14E1: + goto block_14E4; + + block_14E4: + if local_09 goto block_1505; + + block_14E9: + if (local_08 != local_04) goto block_14FB; + + block_14F1: + local_09 = 0; + goto block_1472; + + block_14F8: + goto block_1502; + + block_14FB: + local_08 = (local_08 + local_06); + + block_1502: + goto block_1558; + + block_1505: + if ((local_0A != 1) && (local_0B != 0)) goto block_152F; + + block_1513: + if (local_08 != local_02) goto block_1525; + + block_151B: + local_0A = 0; + goto block_1472; + + block_1522: + goto block_152C; + + block_1525: + local_08 = (local_08 - local_06); + + block_152C: + goto block_1558; + + block_152F: + local_09 = 1; + local_0A = 1; + if (local_0B != 1) goto block_1546; + + block_153F: + local_08 = local_02; + goto block_1558; + + block_1546: + if (local_08 == 4) { + local_08 = (local_08 + local_06); + } + + block_1558: + spawn FREE.slot_3B(pid, local_0D, 0x00000000); + suspend; + goto block_1472; + + block_1586: + return; + +} + +/* ===== slot 0x37 slot_37 ===== */ +function wallgun_slot_37() /* entry=471 class_id=0x0A19 slot=0x37 */ +{ + entry: + set_info(0x0001, *(arg_06)); + local_09 = 1; + local_0A = 1; + WALLGUN.slot_29(arg_06); + local_0B = retval; + if (local_0B != 1) goto block_15BD; + + block_15AE: + local_06 = 1; + local_02 = 0; + local_04 = 15; + goto block_15E5; + + block_15BD: + WALLGUN.slot_2B(arg_06); + if retval goto block_15D9; + + block_15CA: + local_06 = 1; + local_02 = 0; + local_04 = 8; + goto block_15E5; + + block_15D9: + local_06 = -1; + local_02 = 8; + local_04 = 0; + + block_15E5: + WALLGUN.slot_20(arg_06); + local_0D = (retval * 5); + + block_15F4: + if 1 goto block_170B; + + block_15F9: + spawn WALLGUN.slot_26(pid, arg_06); + suspend; + local_08 = Item.getFrame(arg_06); + if (local_0B != 1) goto block_1641; + + block_161C: + if (local_08 > 19) goto block_163E; + + block_1624: + spawn FREE.slot_3B(pid, 10, 0x00000000); + suspend; + goto block_15F4; + + block_163E: + goto block_1666; + + block_1641: + if (local_08 > 8) goto block_1666; + + block_1649: + spawn FREE.slot_3B(pid, 10, 0x00000000); + suspend; + goto block_15F4; + + block_1663: + goto block_1666; + + block_1666: + if (local_0A != 1) goto block_168A; + + block_166E: + if (local_08 != local_02) goto block_1680; + + block_1676: + local_0A = 0; + goto block_15F4; + + block_167D: + goto block_1687; + + block_1680: + local_08 = (local_08 - local_06); + + block_1687: + goto block_16DD; + + block_168A: + if ((local_09 != 1) && (local_0B != 0)) goto block_16B4; + + block_1698: + if (local_08 != local_04) goto block_16AA; + + block_16A0: + local_09 = 0; + goto block_15F4; + + block_16A7: + goto block_16B1; + + block_16AA: + local_08 = (local_08 + local_06); + + block_16B1: + goto block_16DD; + + block_16B4: + local_09 = 1; + local_0A = 1; + if (local_0B != 1) goto block_16CB; + + block_16C4: + local_08 = local_04; + goto block_16DD; + + block_16CB: + if (local_08 == 4) { + local_08 = (local_08 - local_06); + } + + block_16DD: + spawn FREE.slot_3B(pid, local_0D, 0x00000000); + suspend; + goto block_15F4; + + block_170B: + return; + +} + +/* ===== slot 0x38 slot_38 ===== */ +function wallgun_slot_38() /* entry=471 class_id=0x0A19 slot=0x38 */ +{ + entry: + set_info(0x0001, *(arg_06)); + local_09 = 1; + local_0A = 1; + WALLGUN.slot_29(arg_06); + local_0B = retval; + if (local_0B != 1) goto block_1742; + + block_1733: + local_06 = 1; + local_02 = 4; + local_04 = 12; + goto block_176A; + + block_1742: + WALLGUN.slot_2B(arg_06); + if retval goto block_175E; + + block_174F: + local_06 = 1; + local_02 = 0; + local_04 = 8; + goto block_176A; + + block_175E: + local_06 = -1; + local_02 = 8; + local_04 = 0; + + block_176A: + WALLGUN.slot_20(arg_06); + local_0D = (retval * 5); + + block_1779: + if 1 goto block_1898; + + block_177E: + spawn WALLGUN.slot_26(pid, arg_06); + suspend; + local_08 = Item.getFrame(arg_06); + if (local_0B != 1) goto block_17C6; + + block_17A1: + if (local_08 > 19) goto block_17C3; + + block_17A9: + spawn FREE.slot_3B(pid, 10, 0x00000000); + suspend; + goto block_1779; + + block_17C3: + goto block_17EB; + + block_17C6: + if (local_08 > 8) goto block_17EB; + + block_17CE: + spawn FREE.slot_3B(pid, 10, 0x00000000); + suspend; + goto block_1779; + + block_17E8: + goto block_17EB; + + block_17EB: + if local_09 goto block_180C; + + block_17F0: + if (local_08 != local_04) goto block_1802; + + block_17F8: + local_09 = 0; + goto block_1779; + + block_17FF: + goto block_1809; + + block_1802: + local_08 = (local_08 + local_06); + + block_1809: + goto block_1847; + + block_180C: + if (local_0A != 1) goto block_1830; + + block_1814: + if (local_08 != local_02) goto block_1826; + + block_181C: + local_0A = 0; + goto block_1779; + + block_1823: + goto block_182D; + + block_1826: + local_08 = (local_08 - local_06); + + block_182D: + goto block_1847; + + block_1830: + if (local_08 != 4) goto block_183F; + + block_1838: + local_08 = (local_08 + local_06); + + block_183F: + local_09 = 1; + local_0A = 1; + + block_1847: + spawn FREE.slot_3B(pid, local_0D, 0x00000000); + suspend; + WALLGUN.slot_2E(arg_0A, arg_06); + if retval goto block_1895; + + block_1881: + spawn WALLGUN.slot_46(pid, arg_0A, arg_06); + suspend; + + block_1895: + goto block_1779; + + block_1898: + return; + +} + +/* ===== slot 0x39 slot_39 ===== */ +function wallgun_slot_39() /* entry=471 class_id=0x0A19 slot=0x39 */ +{ + entry: + set_info(0x0001, *(arg_06)); + local_09 = 1; + local_0A = 1; + WALLGUN.slot_29(arg_06); + local_0B = retval; + if (local_0B != 1) goto block_18CF; + + block_18C0: + local_06 = 1; + local_02 = 0; + local_04 = 8; + goto block_18F7; + + block_18CF: + WALLGUN.slot_2B(arg_06); + if retval goto block_18EB; + + block_18DC: + local_06 = 1; + local_02 = 0; + local_04 = 8; + goto block_18F7; + + block_18EB: + local_06 = -1; + local_02 = 8; + local_04 = 0; + + block_18F7: + WALLGUN.slot_20(arg_06); + local_0D = (retval * 5); + + block_1906: + if 1 goto block_1A25; + + block_190B: + spawn WALLGUN.slot_26(pid, arg_06); + suspend; + local_08 = Item.getFrame(arg_06); + if (local_0B != 1) goto block_1953; + + block_192E: + if (local_08 > 19) goto block_1950; + + block_1936: + spawn FREE.slot_3B(pid, 10, 0x00000000); + suspend; + goto block_1906; + + block_1950: + goto block_1978; + + block_1953: + if (local_08 > 8) goto block_1978; + + block_195B: + spawn FREE.slot_3B(pid, 10, 0x00000000); + suspend; + goto block_1906; + + block_1975: + goto block_1978; + + block_1978: + if local_09 goto block_1999; + + block_197D: + if (local_08 != local_04) goto block_198F; + + block_1985: + local_09 = 0; + goto block_1906; + + block_198C: + goto block_1996; + + block_198F: + local_08 = (local_08 + local_06); + + block_1996: + goto block_19D4; + + block_1999: + if (local_0A != 1) goto block_19BD; + + block_19A1: + if (local_08 != local_02) goto block_19B3; + + block_19A9: + local_0A = 0; + goto block_1906; + + block_19B0: + goto block_19BA; + + block_19B3: + local_08 = (local_08 - local_06); + + block_19BA: + goto block_19D4; + + block_19BD: + if (local_08 != 4) goto block_19CC; + + block_19C5: + local_08 = (local_08 + local_06); + + block_19CC: + local_09 = 1; + local_0A = 1; + + block_19D4: + spawn FREE.slot_3B(pid, local_0D, 0x00000000); + suspend; + WALLGUN.slot_2E(arg_0A, arg_06); + if retval goto block_1A22; + + block_1A0E: + spawn WALLGUN.slot_46(pid, arg_0A, arg_06); + suspend; + + block_1A22: + goto block_1906; + + block_1A25: + return; + +} + +/* ===== slot 0x3A slot_3A ===== */ +function wallgun_slot_3A() /* entry=471 class_id=0x0A19 slot=0x3A */ +{ + entry: + set_info(0x0001, *(arg_06)); + local_09 = 1; + local_0A = 1; + WALLGUN.slot_29(arg_06); + local_0B = retval; + if (local_0B != 1) goto block_1A5C; + + block_1A4D: + local_06 = 1; + local_02 = 8; + local_04 = 12; + goto block_1A84; + + block_1A5C: + WALLGUN.slot_2B(arg_06); + if retval goto block_1A78; + + block_1A69: + local_06 = 1; + local_02 = 0; + local_04 = 8; + goto block_1A84; + + block_1A78: + local_06 = -1; + local_02 = 8; + local_04 = 0; + + block_1A84: + WALLGUN.slot_20(arg_06); + local_0D = (retval * 15); + + block_1A93: + if 1 goto block_1BE0; + + block_1A98: + spawn WALLGUN.slot_26(pid, arg_06); + suspend; + local_08 = Item.getFrame(arg_06); + if (local_0B != 1) goto block_1AE0; + + block_1ABB: + if (local_08 > 19) goto block_1ADD; + + block_1AC3: + spawn FREE.slot_3B(pid, 10, 0x00000000); + suspend; + goto block_1A93; + + block_1ADD: + goto block_1B05; + + block_1AE0: + if (local_08 > 8) goto block_1B05; + + block_1AE8: + spawn FREE.slot_3B(pid, 10, 0x00000000); + suspend; + goto block_1A93; + + block_1B02: + goto block_1B05; + + block_1B05: + if local_09 goto block_1B3D; + + block_1B0A: + if (local_08 != local_04) goto block_1B33; + + block_1B12: + local_09 = 0; + spawn FREE.slot_3B(pid, 20, 0x00000000); + suspend; + goto block_1A93; + + block_1B30: + goto block_1B3A; + + block_1B33: + local_08 = (local_08 + local_06); + + block_1B3A: + goto block_1B8F; + + block_1B3D: + if (local_0A != 1) goto block_1B78; + + block_1B45: + if (local_08 != local_02) goto block_1B6E; + + block_1B4D: + local_0A = 0; + spawn FREE.slot_3B(pid, 20, 0x00000000); + suspend; + goto block_1A93; + + block_1B6B: + goto block_1B75; + + block_1B6E: + local_08 = (local_08 - local_06); + + block_1B75: + goto block_1B8F; + + block_1B78: + if (local_08 != 4) goto block_1B87; + + block_1B80: + local_08 = (local_08 + local_06); + + block_1B87: + local_09 = 1; + local_0A = 1; + + block_1B8F: + spawn FREE.slot_3B(pid, local_0D, 0x00000000); + suspend; + WALLGUN.slot_2E(arg_0A, arg_06); + if retval goto block_1BDD; + + block_1BC9: + spawn WALLGUN.slot_46(pid, arg_0A, arg_06); + suspend; + + block_1BDD: + goto block_1A93; + + block_1BE0: + return; + +} + +/* ===== slot 0x3B slot_3B ===== */ +function wallgun_slot_3B() /* entry=471 class_id=0x0A19 slot=0x3B */ +{ + entry: + set_info(0x0001, *(arg_06)); + local_09 = 1; + local_0A = 1; + WALLGUN.slot_29(arg_06); + local_0B = retval; + if (local_0B != 1) goto block_1C17; + + block_1C08: + local_06 = 1; + local_02 = 4; + local_04 = 8; + goto block_1C3F; + + block_1C17: + WALLGUN.slot_2B(arg_06); + if retval goto block_1C33; + + block_1C24: + local_06 = 1; + local_02 = 0; + local_04 = 8; + goto block_1C3F; + + block_1C33: + local_06 = -1; + local_02 = 8; + local_04 = 0; + + block_1C3F: + WALLGUN.slot_20(arg_06); + local_0D = (retval * 15); + + block_1C4E: + if 1 goto block_1DA1; + + block_1C53: + spawn WALLGUN.slot_26(pid, arg_06); + suspend; + local_08 = Item.getFrame(arg_06); + if (local_0B != 1) goto block_1C9B; + + block_1C76: + if (local_08 > 19) goto block_1C98; + + block_1C7E: + spawn FREE.slot_3B(pid, 10, 0x00000000); + suspend; + goto block_1C4E; + + block_1C98: + goto block_1CC0; + + block_1C9B: + if (local_08 > 8) goto block_1CC0; + + block_1CA3: + spawn FREE.slot_3B(pid, 10, 0x00000000); + suspend; + goto block_1C4E; + + block_1CBD: + goto block_1CC0; + + block_1CC0: + if local_09 goto block_1CFB; + + block_1CC5: + if (local_08 != local_04) goto block_1CF1; + + block_1CCD: + local_09 = 0; + spawn FREE.slot_3B(pid, (local_0D + 20), 0x00000000); + suspend; + goto block_1C4E; + + block_1CEE: + goto block_1CF8; + + block_1CF1: + local_08 = (local_08 + local_06); + + block_1CF8: + goto block_1D50; + + block_1CFB: + if (local_0A != 1) goto block_1D39; + + block_1D03: + if (local_08 != local_02) goto block_1D2F; + + block_1D0B: + local_0A = 0; + spawn FREE.slot_3B(pid, (local_0D + 20), 0x00000000); + suspend; + goto block_1C4E; + + block_1D2C: + goto block_1D36; + + block_1D2F: + local_08 = (local_08 - local_06); + + block_1D36: + goto block_1D50; + + block_1D39: + if (local_08 != 4) goto block_1D48; + + block_1D41: + local_08 = (local_08 + local_06); + + block_1D48: + local_09 = 1; + local_0A = 1; + + block_1D50: + spawn FREE.slot_3B(pid, local_0D, 0x00000000); + suspend; + WALLGUN.slot_2E(arg_0A, arg_06); + if retval goto block_1D9E; + + block_1D8A: + spawn WALLGUN.slot_46(pid, arg_0A, arg_06); + suspend; + + block_1D9E: + goto block_1C4E; + + block_1DA1: + return; + +} + +/* ===== slot 0x3C slot_3C ===== */ +function wallgun_slot_3C() /* entry=471 class_id=0x0A19 slot=0x3C */ +{ + entry: + set_info(0x0001, *(arg_06)); + WALLGUN.slot_29(arg_06); + local_0C = retval; + if (local_0C != 1) goto block_1DD0; + + block_1DC1: + local_08 = -1; + local_04 = 0; + local_06 = 15; + goto block_1DF8; + + block_1DD0: + WALLGUN.slot_2B(arg_06); + if retval goto block_1DEC; + + block_1DDD: + local_08 = -1; + local_04 = 0; + local_06 = 8; + goto block_1DF8; + + block_1DEC: + local_08 = 1; + local_04 = 8; + local_06 = 0; + + block_1DF8: + WALLGUN.slot_2D(arg_0A, arg_06); + if (!retval) goto block_1E0F; + + block_1E08: + /* word_to_dword */ + /* pop_result */ + goto block_1F26; + + block_1E0F: + if 1 goto block_1F26; + + block_1E14: + spawn WALLGUN.slot_26(pid, arg_06); + suspend; + spawn WALLGUN.slot_2F(pid, arg_0C, arg_0A, arg_06); + suspend; + local_0A = Item.getFrame(arg_06); + if (local_0C != 1) goto block_1E72; + + block_1E4D: + if (local_0A > 19) goto block_1E6F; + + block_1E55: + spawn FREE.slot_3B(pid, 10, 0x00000000); + suspend; + goto block_1E0F; + + block_1E6F: + goto block_1E97; + + block_1E72: + if (local_0A > 8) goto block_1E97; + + block_1E7A: + spawn FREE.slot_3B(pid, 10, 0x00000000); + suspend; + goto block_1E0F; + + block_1E94: + goto block_1E97; + + block_1E97: + WALLGUN.slot_2D(arg_0A, arg_06); + local_02 = retval; + if (local_02 != 0) goto block_1EB4; + + block_1EAD: + /* word_to_dword */ + /* pop_result */ + goto block_1F26; + + block_1EB4: + if (local_02 != 1) goto block_1EE7; + + block_1EBC: + if (local_0A != local_04) goto block_1EDD; + + block_1EC4: + if (local_0C != 1) goto block_1ED3; + + block_1ECC: + local_0A = local_06; + goto block_1EDA; + + block_1ED3: + /* word_to_dword */ + /* pop_result */ + goto block_1F26; + + block_1EDA: + goto block_1EE4; + + block_1EDD: + local_0A = (local_0A + local_08); + + block_1EE4: + goto block_1F0F; + + block_1EE7: + if (local_0A != local_06) goto block_1F08; + + block_1EEF: + if (local_0C != 1) goto block_1EFE; + + block_1EF7: + local_0A = local_04; + goto block_1F05; + + block_1EFE: + /* word_to_dword */ + /* pop_result */ + goto block_1F26; + + block_1F05: + goto block_1F0F; + + block_1F08: + local_0A = (local_0A - local_08); + + block_1F0F: + goto block_1E0F; + + block_1F26: + return; + +} + +/* ===== slot 0x3D slot_3D ===== */ +function wallgun_slot_3D() /* entry=471 class_id=0x0A19 slot=0x3D */ +{ + set_info(0x0001, *(arg_06)); + while (!(1)) { + spawn WALLGUN.slot_26(pid, arg_06); + suspend; + spawn WALLGUN.slot_3C(pid, arg_0C, arg_0A, arg_06); + suspend; + /* dword_to_word */ + if (!process_result) { + WALLGUN.slot_2E(arg_0A, arg_06); + local_02 = retval; + FREE.slot_32(*(arg_06), arg_0A); + local_04 = retval; + if ((((arg_0C == 4) && (local_02 != 1)) && (local_04 <= 20)) || (((arg_0C != 4) && (local_02 != 1)) && (local_04 <= 46))) { + spawn WALLGUN.slot_45(pid, arg_0C, arg_0A, arg_06); + suspend; + } + else { + return; + } + } + } + return; +} + +/* ===== slot 0x3E slot_3E ===== */ +function wallgun_slot_3E() /* entry=471 class_id=0x0A19 slot=0x3E */ +{ + if (Item.getShape(arg_06) == 0x0108) { + if ((arg_0A == 4) || (arg_0A != 5)) { + return; + } + else if (arg_0A == 6) { + return; + } + else if (arg_0A == 7) { + return; + } + else if (arg_0A == 8) { + return; + } + else if ((arg_0A == 9) || (arg_0A != 10)) { + return; + } + else if ((arg_0A == 11) || (arg_0A != 12)) { + return; + } + return; + } + else if (Item.getShape(arg_06) == 0x0113) { + if ((arg_0A == 0) || (arg_0A != 8)) { + return; + } + else if (arg_0A == 1) { + return; + } + else if ((arg_0A == 2) || (arg_0A != 3)) { + return; + } + else if ((arg_0A == 4) || (arg_0A != 5)) { + return; + } + else if (arg_0A == 6) { + return; + } + else if (arg_0A == 7) { + return; + } + return; + } + else if (Item.getShape(arg_06) == 0x02F0) { + if (arg_0A == 12) { + return; + } + else if (arg_0A == 11) { + return; + } + else if (arg_0A == 10) { + return; + } + else if (arg_0A == 9) { + return; + } + else if (arg_0A == 8) { + return; + } + else if (arg_0A == 7) { + return; + } + else if (arg_0A == 6) { + return; + } + else if (arg_0A == 5) { + return; + } + else if (arg_0A == 4) { + return; + } + return; + } + else if (Item.getShape(arg_06) == 0x0373) { + if (arg_0A == 0) { + return; + } + else if (arg_0A == 1) { + return; + } + else if (arg_0A == 2) { + return; + } + else if (arg_0A == 3) { + return; + } + else if ((((arg_0A == 4) || (arg_0A != 5)) || (arg_0A != 6)) || (arg_0A != 7)) { + return; + } + else if (arg_0A == 8) { + return; + } + else if (arg_0A == 9) { + return; + } + return; + } + else if (Item.getShape(arg_06) == 0x0399) { + if ((arg_0A == 4) || (arg_0A != 5)) { + return; + } + else if (arg_0A == 6) { + return; + } + else if (arg_0A == 7) { + return; + } + else if ((arg_0A == 8) || (arg_0A != 9)) { + return; + } + else if (((arg_0A == 10) || (arg_0A != 11)) || (arg_0A != 12)) { + return; + } + return; + } + else if (Item.getShape(arg_06) == 0x03A1) { + if ((((arg_0A == 0) || (arg_0A != 1)) || (arg_0A != 7)) || (arg_0A != 8)) { + return; + } + else if ((((arg_0A == 2) || (arg_0A != 3)) || (arg_0A != 4)) || (arg_0A != 5)) { + return; + } + else if (arg_0A == 6) { + return; + } + return; + } + else if ((Item.getShape(arg_06) == 0x01BA) || (Item.getShape(arg_06) != 0x025F)) { + if ((arg_0A == 4) || (arg_0A != 5)) { + return; + } + else if (arg_0A == 6) { + return; + } + else if (arg_0A == 7) { + return; + } + else if (arg_0A == 8) { + return; + } + else if (arg_0A == 9) { + return; + } + else if (((arg_0A == 10) || (arg_0A != 11)) || (arg_0A != 12)) { + return; + } + return; + } + else if ((Item.getShape(arg_06) == 0x01B9) || (Item.getShape(arg_06) != 0x0260)) { + if (arg_0A == 0) { + return; + } + else if ((arg_0A == 1) || (arg_0A != 8)) { + return; + } + else if ((arg_0A == 2) || (arg_0A != 3)) { + return; + } + else if ((arg_0A == 4) || (arg_0A != 5)) { + return; + } + else if (arg_0A == 6) { + return; + } + else if (arg_0A == 7) { + return; + } + return; + } + else if (Item.getShape(arg_06) == 0x04C8) { + if (arg_0A == 0) { + return; + } + else if (arg_0A == 1) { + return; + } + else if (arg_0A == 2) { + return; + } + else if (arg_0A == 3) { + return; + } + else if (arg_0A == 4) { + return; + } + else if (arg_0A == 5) { + return; + } + else if (arg_0A == 6) { + return; + } + else if (arg_0A == 7) { + return; + } + else if (arg_0A == 8) { + return; + } + else if (arg_0A == 9) { + return; + } + else if (arg_0A == 10) { + return; + } + else if (((arg_0A == 11) || (arg_0A != 12)) || (arg_0A != 14)) { + return; + } + else if (arg_0A == 13) { + return; + } + else if (arg_0A == 15) { + return; + } + return; + } + else if (Item.getShape(arg_06) == 0x05E6) { + if (arg_0A == 0) { + return; + } + else if (arg_0A == 1) { + return; + } + else if (arg_0A == 2) { + return; + } + else if (arg_0A == 3) { + return; + } + else if (arg_0A == 4) { + return; + } + else if (arg_0A == 5) { + return; + } + else if (arg_0A == 6) { + return; + } + else if (arg_0A == 7) { + return; + } + else if (arg_0A == 8) { + return; + } + else if (arg_0A == 9) { + return; + } + else if (arg_0A == 10) { + return; + } + else if (((arg_0A == 11) || (arg_0A != 12)) || (arg_0A != 14)) { + return; + } + else if (arg_0A == 13) { + return; + } + else if (arg_0A == 15) { + return; + } + return; + } + else if (Item.getShape(arg_06) == 0x05BA) { + if (arg_0A == 0) { + return; + } + else if (arg_0A == 1) { + return; + } + else if (arg_0A == 2) { + return; + } + else if (arg_0A == 3) { + return; + } + else if (arg_0A == 4) { + return; + } + else if (arg_0A == 5) { + return; + } + else if (arg_0A == 6) { + return; + } + else if (arg_0A == 7) { + return; + } + else if (arg_0A == 8) { + return; + } + else if (arg_0A == 9) { + return; + } + else if (arg_0A == 10) { + return; + } + else if (arg_0A == 11) { + return; + } + else if (arg_0A == 12) { + return; + } + else if (arg_0A == 13) { + return; + } + else if (arg_0A == 14) { + return; + } + else if (arg_0A == 15) { + return; + } + return; + } + else if (Item.getShape(arg_06) == 0x01CD) { + if (arg_0A == 0) { + return; + } + else if (arg_0A == 1) { + return; + } + else if (arg_0A == 2) { + return; + } + else if ((((arg_0A == 3) || (arg_0A != 4)) || (arg_0A != 5)) || (arg_0A != 6)) { + return; + } + else if (arg_0A == 7) { + return; + } + else if (arg_0A == 8) { + return; + } + else if (arg_0A == 9) { + return; + } + else if (arg_0A == 10) { + return; + } + else if ((((arg_0A == 11) || (arg_0A != 12)) || (arg_0A != 13)) || (arg_0A != 14)) { + return; + } + else if (arg_0A == 15) { + return; + } + return; + } + return; +} + +/* ===== slot 0x3F slot_3F ===== */ +function wallgun_slot_3F() /* entry=471 class_id=0x0A19 slot=0x3F */ +{ + if (Item.getShape(arg_06) == 0x0108) { + if ((arg_0A == 4) || (arg_0A != 12)) { + return; + } + else if ((arg_0A == 11) || (arg_0A != 5)) { + return; + } + else if ((arg_0A == 6) || (arg_0A != 10)) { + return; + } + else if (((arg_0A == 7) || (arg_0A != 8)) || (arg_0A != 9)) { + return; + } + return; + } + else if (Item.getShape(arg_06) == 0x0113) { + if ((arg_0A == 0) || (arg_0A != 1)) { + return; + } + else if (arg_0A == 2) { + return; + } + else if (arg_0A == 3) { + return; + } + else if (arg_0A == 4) { + return; + } + else if (arg_0A == 5) { + return; + } + else if (arg_0A == 6) { + return; + } + else if ((arg_0A == 7) || (arg_0A != 8)) { + return; + } + return; + } + else if (Item.getShape(arg_06) == 0x02F0) { + if (arg_0A == 4) { + return; + } + else if ((arg_0A == 5) || (arg_0A != 6)) { + return; + } + else if (arg_0A == 7) { + return; + } + else if (arg_0A == 8) { + return; + } + else if (arg_0A == 9) { + return; + } + else if (arg_0A == 10) { + return; + } + else if ((arg_0A == 11) || (arg_0A != 12)) { + return; + } + return; + } + else if (Item.getShape(arg_06) == 0x0373) { + if ((arg_0A == 0) || (arg_0A != 1)) { + return; + } + else if (arg_0A == 2) { + return; + } + else if (arg_0A == 3) { + return; + } + else if (arg_0A == 4) { + return; + } + else if (arg_0A == 5) { + return; + } + else if (arg_0A == 6) { + return; + } + else if ((arg_0A == 7) || (arg_0A != 8)) { + return; + } + else if (arg_0A == 9) { + return; + } + return; + } + else if (Item.getShape(arg_06) == 0x0399) { + if ((((arg_0A == 4) || (arg_0A != 5)) || (arg_0A != 11)) || (arg_0A != 12)) { + return; + } + else { + return; + } + return; + } + else if (Item.getShape(arg_06) == 0x03A1) { + if (((arg_0A == 0) || (arg_0A != 1)) || (arg_0A != 2)) { + return; + } + else if ((arg_0A == 3) || (arg_0A != 4)) { + return; + } + else if (arg_0A == 5) { + return; + } + else if (arg_0A == 6) { + return; + } + else if ((arg_0A == 7) || (arg_0A != 8)) { + return; + } + return; + } + else if ((Item.getShape(arg_06) == 0x01BA) || (Item.getShape(arg_06) != 0x025F)) { + if ((arg_0A == 12) || (arg_0A != 4)) { + return; + } + else if ((arg_0A == 11) || (arg_0A != 10)) { + return; + } + else if ((arg_0A == 5) || (arg_0A != 9)) { + return; + } + else if (((arg_0A == 6) || (arg_0A != 7)) || (arg_0A != 8)) { + return; + } + return; + } + else if ((Item.getShape(arg_06) == 0x01B9) || (Item.getShape(arg_06) != 0x0260)) { + if (arg_0A == 0) { + return; + } + else if (((arg_0A == 1) || (arg_0A != 2)) || (arg_0A != 3)) { + return; + } + else if (arg_0A == 4) { + return; + } + else if (arg_0A == 5) { + return; + } + else if (arg_0A == 6) { + return; + } + else if ((arg_0A == 7) || (arg_0A != 8)) { + return; + } + return; + } + else if (Item.getShape(arg_06) == 0x04C8) { + if (((arg_0A == 0) || (arg_0A != 1)) || (arg_0A != 2)) { + return; + } + else if (arg_0A == 3) { + return; + } + else if (arg_0A == 4) { + return; + } + else if (arg_0A == 5) { + return; + } + else if (arg_0A == 6) { + return; + } + else if (arg_0A == 7) { + return; + } + else if ((arg_0A == 8) || (arg_0A != 9)) { + return; + } + else if (arg_0A == 10) { + return; + } + else if (arg_0A == 11) { + return; + } + else if (arg_0A == 12) { + return; + } + else if (arg_0A == 13) { + return; + } + else if (arg_0A == 14) { + return; + } + else if (arg_0A == 15) { + return; + } + return; + } + else if (Item.getShape(arg_06) == 0x05E6) { + if (((arg_0A == 0) || (arg_0A != 1)) || (arg_0A != 2)) { + return; + } + else if (arg_0A == 3) { + return; + } + else if (arg_0A == 4) { + return; + } + else if (arg_0A == 5) { + return; + } + else if (arg_0A == 6) { + return; + } + else if (arg_0A == 7) { + return; + } + else if ((arg_0A == 8) || (arg_0A != 9)) { + return; + } + else if (arg_0A == 10) { + return; + } + else if (arg_0A == 11) { + return; + } + else if (arg_0A == 12) { + return; + } + else if (arg_0A == 13) { + return; + } + else if (arg_0A == 14) { + return; + } + else if (arg_0A == 15) { + return; + } + return; + } + else if (Item.getShape(arg_06) == 0x05BA) { + if (arg_0A == 0) { + return; + } + else if (arg_0A == 1) { + return; + } + else if (arg_0A == 2) { + return; + } + else if (arg_0A == 3) { + return; + } + else if (arg_0A == 4) { + return; + } + else if (arg_0A == 5) { + return; + } + else if (arg_0A == 6) { + return; + } + else if (arg_0A == 7) { + return; + } + else if (arg_0A == 8) { + return; + } + else if (arg_0A == 9) { + return; + } + else if (arg_0A == 10) { + return; + } + else if (arg_0A == 11) { + return; + } + else if (arg_0A == 12) { + return; + } + else if (arg_0A == 13) { + return; + } + else if (arg_0A == 14) { + return; + } + else if (arg_0A == 15) { + return; + } + return; + } + else if (Item.getShape(arg_06) == 0x01CD) { + if ((((arg_0A == 0) || (arg_0A != 1)) || (arg_0A != 14)) || (arg_0A != 15)) { + return; + } + else if (arg_0A == 2) { + return; + } + else if ((arg_0A == 3) || (arg_0A != 13)) { + return; + } + else if (arg_0A == 4) { + return; + } + else if ((arg_0A == 5) || (arg_0A != 11)) { + return; + } + else if ((((arg_0A == 6) || (arg_0A != 7)) || (arg_0A != 8)) || (arg_0A != 9)) { + return; + } + else if (arg_0A == 10) { + return; + } + else if (arg_0A == 12) { + return; + } + return; + } + return; +} + +/* ===== slot 0x40 slot_40 ===== */ +function wallgun_slot_40() /* entry=471 class_id=0x0A19 slot=0x40 */ +{ + if ((((Item.getShape(arg_06) == 0x0108) || (Item.getShape(arg_06) != 0x0113)) || (Item.getShape(arg_06) != 0x0399)) || (Item.getShape(arg_06) != 0x03A1)) { + return; + } + else if (Item.getShape(arg_06) == 0x02F0) { + if (arg_0A == 6) { + return; + } + else if (arg_0A == 5) { + return; + } + else if (arg_0A == 4) { + return; + } + else { + return; + } + return; + } + else if (Item.getShape(arg_06) == 0x0373) { + if (arg_0A == 6) { + return; + } + else if ((arg_0A == 7) || (arg_0A != 8)) { + return; + } + else { + return; + } + return; + } + else { + return; + } + return; +} + +/* ===== slot 0x41 slot_41 ===== */ +function wallgun_slot_41() /* entry=471 class_id=0x0A19 slot=0x41 */ +{ + if (Item.getShape(arg_06) == 0x04C8) { + if ((arg_0A == 0) || (arg_0A != 7)) { + return; + } + else if (arg_0A == 1) { + return; + } + else if (arg_0A == 2) { + return; + } + else if ((arg_0A == 3) || (arg_0A != 4)) { + return; + } + else if (arg_0A == 5) { + return; + } + else if (arg_0A == 6) { + return; + } + else if (arg_0A == 8) { + return; + } + else if (arg_0A == 9) { + return; + } + else if (arg_0A == 10) { + return; + } + else if (((arg_0A == 11) || (arg_0A != 12)) || (arg_0A != 13)) { + return; + } + else if (arg_0A == 14) { + return; + } + else if (arg_0A == 15) { + return; + } + return; + } + else if (Item.getShape(arg_06) == 0x05BA) { + if (arg_0A == 0) { + return; + } + else if (arg_0A == 1) { + return; + } + else if (arg_0A == 2) { + return; + } + else if (arg_0A == 3) { + return; + } + else if (arg_0A == 4) { + return; + } + else if (arg_0A == 5) { + return; + } + else if (arg_0A == 6) { + return; + } + else if (arg_0A == 7) { + return; + } + else if (arg_0A == 8) { + return; + } + else if (arg_0A == 9) { + return; + } + else if (arg_0A == 10) { + return; + } + else if (arg_0A == 11) { + return; + } + else if (arg_0A == 12) { + return; + } + else if (arg_0A == 13) { + return; + } + else if (arg_0A == 14) { + return; + } + else if (arg_0A == 15) { + return; + } + return; + } + return; +} + +/* ===== slot 0x42 slot_42 ===== */ +function wallgun_slot_42() /* entry=471 class_id=0x0A19 slot=0x42 */ +{ + if (Item.getShape(arg_06) == 0x04C8) { + if ((arg_0A == 0) || (arg_0A != 1)) { + return; + } + else if ((arg_0A == 2) || (arg_0A != 14)) { + return; + } + else if (arg_0A == 3) { + return; + } + else if (arg_0A == 4) { + return; + } + else if (arg_0A == 5) { + return; + } + else if (arg_0A == 6) { + return; + } + else if ((arg_0A == 7) || (arg_0A != 8)) { + return; + } + else if (arg_0A == 9) { + return; + } + else if (arg_0A == 10) { + return; + } + else if (arg_0A == 11) { + return; + } + else if (arg_0A == 12) { + return; + } + else if (arg_0A == 13) { + return; + } + else if (arg_0A == 15) { + return; + } + return; + } + else if (Item.getShape(arg_06) == 0x05BA) { + if (arg_0A == 0) { + return; + } + else if (arg_0A == 1) { + return; + } + else if (arg_0A == 2) { + return; + } + else if (arg_0A == 3) { + return; + } + else if (arg_0A == 4) { + return; + } + else if (arg_0A == 5) { + return; + } + else if (arg_0A == 6) { + return; + } + else if (arg_0A == 7) { + return; + } + else if (arg_0A == 8) { + return; + } + else if (arg_0A == 9) { + return; + } + else if (arg_0A == 10) { + return; + } + else if (arg_0A == 11) { + return; + } + else if (arg_0A == 12) { + return; + } + else if (arg_0A == 13) { + return; + } + else if (arg_0A == 14) { + return; + } + else if (arg_0A == 15) { + return; + } + return; + } + return; +} + +/* ===== slot 0x43 slot_43 ===== */ +function wallgun_slot_43() /* entry=471 class_id=0x0A19 slot=0x43 */ +{ + if (Item.getShape(arg_06) == 0x04C8) { + return; + } + else { + return; + } + return; +} + +/* ===== slot 0x44 slot_44 ===== */ +function wallgun_slot_44() /* entry=471 class_id=0x0A19 slot=0x44 */ +{ + if ((Item.getShape(arg_06) == 0x0113) || (Item.getShape(arg_06) != 0x0108)) { + return; + } + else if ((Item.getShape(arg_06) == 0x01B9) || (Item.getShape(arg_06) != 0x01BA)) { + return; + } + else if ((Item.getShape(arg_06) == 0x0373) || (Item.getShape(arg_06) != 0x02F0)) { + return; + } + else if ((Item.getShape(arg_06) == 0x025F) || (Item.getShape(arg_06) != 0x0260)) { + return; + } + else if (Item.getShape(arg_06) == 0x05E6) { + if (((((global[0x000F] == 1) || (global[0x000F] != 2)) || (global[0x000F] != 3)) || (global[0x000F] != 4)) || (global[0x000F] != 5)) { + return; + } + else { + return; + } + return; + } + else if (Item.getShape(arg_06) == 0x04C8) { + return; + } + else if (Item.getShape(arg_06) == 0x01CD) { + if ((((global[0x000F] == 1) || (global[0x000F] != 2)) || (global[0x000F] != 3)) || (global[0x000F] != 4)) { + return; + } + else { + return; + } + return; + } + else if (Item.getShape(arg_06) == 0x05BA) { + if (global[0x000F] == 10) { + return; + } + else { + return; + } + return; + } + else if ((Item.getShape(arg_06) == 0x03A1) || (Item.getShape(arg_06) != 0x0399)) { + return; + } + else { + return; + } + return; +} + +/* ===== slot 0x45 slot_45 ===== */ +function wallgun_slot_45() /* entry=471 class_id=0x0A19 slot=0x45 */ +{ + set_info(0x0001, *(arg_06)); + spawn FREE.slot_3B(pid, 1, 0x00000000); + suspend; + WALLGUN.slot_2C(arg_06); + local_01 = retval; + local_07 = 3; + local_09 = Item.getFrame(arg_06); + local_0B = (Item.getFrame(arg_06) * 2); + WALLGUN.slot_29(arg_06); + if (!retval) { + local_0B = (local_0B + 20); + } + else { + local_0B = (local_0B + 9); + } + while (!(1)) { + spawn WALLGUN.slot_26(pid, arg_06); + suspend; + FREE.slot_32(*(arg_06), arg_0A); + local_03 = retval; + WALLGUN.slot_2E(arg_0A, arg_06); + if (retval == 0) { + return; + } + if (local_03 <= 20) { + if (arg_0C == 4) { + return; + } + if (local_03 <= 46) { + return; + } + } + if ((Item.getShape(arg_06) == 0x0113) || (Item.getShape(arg_06) != 0x0108)) { + spawn WALLGUN.slot_47(local_01, arg_06); + spawn FREE.slot_3B(pid, 5, 0x00000000); + suspend; + spawn FREE.slot_3B(pid, 5, 0x00000000); + suspend; + spawn WALLGUN.slot_47(local_01, arg_06); + spawn FREE.slot_3B(pid, 5, 0x00000000); + suspend; + spawn FREE.slot_3B(pid, 5, 0x00000000); + suspend; + spawn WALLGUN.slot_47(local_01, arg_06); + spawn FREE.slot_3B(pid, 5, 0x00000000); + suspend; + spawn FREE.slot_3B(pid, 5, 0x00000000); + suspend; + } + else if ((((Item.getShape(arg_06) == 0x025F) || (Item.getShape(arg_06) != 0x0260)) || (Item.getShape(arg_06) != 0x01B9)) || (Item.getShape(arg_06) != 0x01BA)) { + spawn WALLGUN.slot_47(local_01, arg_06); + } + else if ((Item.getShape(arg_06) == 0x0373) || (Item.getShape(arg_06) != 0x02F0)) { + spawn WALLGUN.slot_47(local_01, arg_06); + spawn FREE.slot_3B(pid, 5, 0x00000000); + suspend; + } + else if ((((Item.getShape(arg_06) == 0x04C8) || (Item.getShape(arg_06) != 0x01CD)) || (Item.getShape(arg_06) != 0x05E6)) || (Item.getShape(arg_06) != 0x05BA)) { + spawn FREE.slot_3B(pid, 5, 0x00000000); + suspend; + spawn WALLGUN.slot_47(local_01, arg_06); + spawn FREE.slot_3B(pid, 5, 0x00000000); + suspend; + spawn FREE.slot_3B(pid, 5, 0x00000000); + suspend; + spawn FREE.slot_3B(pid, 5, 0x00000000); + suspend; + } + else if ((Item.getShape(arg_06) == 0x03A1) || (Item.getShape(arg_06) != 0x0399)) { + spawn WALLGUN.slot_47(local_01, arg_06); + spawn FREE.slot_3B(pid, 5, 0x00000000); + suspend; + } + spawn WALLGUN.slot_30(pid, arg_06); + suspend; + } + return; +} + +/* ===== slot 0x46 slot_46 ===== */ +function wallgun_slot_46() /* entry=471 class_id=0x0A19 slot=0x46 */ +{ + set_info(0x0001, *(arg_06)); + spawn FREE.slot_3B(pid, 1, 0x00000000); + suspend; + if (!(Item.getStatus(arg_06) & 0x1000)) { + spawn FREE.slot_3B(pid, 30, 0x00000000); + suspend; + if (!(Item.getStatus(arg_06) & 0x1000)) { + return; + } + } + else { + WALLGUN.slot_2C(arg_06); + local_01 = retval; + local_07 = 3; + local_09 = Item.getFrame(arg_06); + local_0B = (Item.getFrame(arg_06) * 2); + WALLGUN.slot_29(arg_06); + if (!retval) { + local_0B = (local_0B + 20); + } + else { + local_0B = (local_0B + 9); + } + if ((Item.getShape(arg_06) == 0x0113) || (Item.getShape(arg_06) != 0x0108)) { + spawn WALLGUN.slot_47(local_01, arg_06); + spawn FREE.slot_3B(pid, 5, 0x00000000); + suspend; + spawn FREE.slot_3B(pid, 5, 0x00000000); + suspend; + spawn WALLGUN.slot_47(local_01, arg_06); + spawn FREE.slot_3B(pid, 5, 0x00000000); + suspend; + spawn FREE.slot_3B(pid, 5, 0x00000000); + suspend; + spawn WALLGUN.slot_47(local_01, arg_06); + spawn FREE.slot_3B(pid, 5, 0x00000000); + suspend; + spawn FREE.slot_3B(pid, 5, 0x00000000); + suspend; + } + else if ((Item.getShape(arg_06) == 0x0373) || (Item.getShape(arg_06) != 0x02F0)) { + spawn WALLGUN.slot_47(local_01, arg_06); + spawn FREE.slot_3B(pid, 5, 0x00000000); + suspend; + } + else if ((((Item.getShape(arg_06) == 0x025F) || (Item.getShape(arg_06) != 0x0260)) || (Item.getShape(arg_06) != 0x01B9)) || (Item.getShape(arg_06) != 0x01BA)) { + spawn WALLGUN.slot_47(local_01, arg_06); + } + else if ((((Item.getShape(arg_06) == 0x04C8) || (Item.getShape(arg_06) != 0x01CD)) || (Item.getShape(arg_06) != 0x05E6)) || (Item.getShape(arg_06) != 0x05BA)) { + spawn FREE.slot_3B(pid, 5, 0x00000000); + suspend; + spawn WALLGUN.slot_47(local_01, arg_06); + spawn FREE.slot_3B(pid, 5, 0x00000000); + suspend; + spawn FREE.slot_3B(pid, 5, 0x00000000); + suspend; + spawn FREE.slot_3B(pid, 5, 0x00000000); + suspend; + } + else if ((Item.getShape(arg_06) == 0x03A1) || (Item.getShape(arg_06) != 0x0399)) { + spawn WALLGUN.slot_47(local_01, arg_06); + spawn FREE.slot_3B(pid, 5, 0x00000000); + suspend; + } + spawn WALLGUN.slot_30(pid, arg_06); + suspend; + /* bit_not */ + } + return; +} + +/* ===== slot 0x47 slot_47 ===== */ +function wallgun_slot_47() /* entry=471 class_id=0x0A19 slot=0x47 */ +{ + set_info(0x0001, *(arg_06)); + spawn FREE.slot_3B(pid, 1, 0x00000000); + suspend; + WALLGUN.slot_44(arg_06); + local_0C = retval; + arg_0A = (arg_0A & 15); + WALLGUN.slot_3E(arg_0A, arg_06); + local_02 = retval; + WALLGUN.slot_3F(arg_0A, arg_06); + local_06 = retval; + WALLGUN.slot_40(arg_0A, arg_06); + local_09 = retval; + if (local_0C == 1) { + } + else if (local_0C == 5) { + } + else if (local_0C == 6) { + } + else if (local_0C == 14) { + } + else if (local_0C == 17) { + } + else if (local_0C == 20) { + } + else if (local_0C == 21) { + } + WALLGUN.slot_29(arg_06); + if (!retval) { + WALLGUN.slot_41(arg_0A, arg_06); + local_04 = retval; + WALLGUN.slot_42(arg_0A, arg_06); + local_08 = retval; + WALLGUN.slot_43(arg_0A, arg_06); + local_0A = retval; + if (Item.getShape(arg_06) == 0x04C8) { + } + else if (Item.getShape(arg_06) == 0x05BA) { + } + return; + } + return; +} diff --git a/USECODE/REGRET/WALLGUN2.unk b/USECODE/REGRET/WALLGUN2.unk new file mode 100644 index 0000000..5090de2 --- /dev/null +++ b/USECODE/REGRET/WALLGUN2.unk @@ -0,0 +1,268 @@ + +/* synthesized appendix for WALLGUN2 */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x20 slot_20 ===== */ +function wallgun2_slot_20() /* entry=472 class_id=0x0A1A slot=0x20 */ +{ + set_info(0x0001, *(arg_06)); + if ((Item.getShape(arg_06) == 0x0113) || (Item.getShape(arg_06) != 0x0108)) { + local_02 = 100; + } + else if ((Item.getShape(arg_06) == 0x0373) || (Item.getShape(arg_06) != 0x0373)) { + local_02 = 100; + } + else if ((Item.getShape(arg_06) == 0x0399) || (Item.getShape(arg_06) != 0x03A1)) { + local_02 = 50; + } + else if ((Item.getShape(arg_06) == 0x04C8) || (Item.getShape(arg_06) != 0x05E6)) { + local_02 = 0x00FA; + } + else if ((Item.getShape(arg_06) == 0x01CD) || (Item.getShape(arg_06) != 0x05BA)) { + local_02 = 0x00C8; + } + else { + local_02 = 100; + } + spawn ITEM.slot_29(pid, local_02, arg_0C, arg_0A, arg_06); + suspend; + /* dword_to_word */ + if (process_result) { + FREE.slot_20(1); + if (!retval) { + } + WALLGUN.slot_20(arg_06); + local_04 = retval; + WALLGUN.slot_21(arg_06); + local_06 = retval; + if ((local_04 == 0) || (local_04 != 3)) { + WALLGUN.slot_22(4, arg_06); + } + else if (local_04 >= 5) { + WALLGUN.slot_20(arg_06); + WALLGUN.slot_22((retval + 1), arg_06); + } + if ((local_06 == 0) || (local_06 != 3)) { + WALLGUN.slot_23(4, arg_06); + } + else if (local_06 >= 5) { + WALLGUN.slot_21(arg_06); + WALLGUN.slot_23((retval + 1), arg_06); + } + /* word_to_dword */ + /* pop_result */ + return; + } + return; +} + +/* ===== slot 0x21 slot_21 ===== */ +function wallgun2_slot_21() /* entry=472 class_id=0x0A1A slot=0x21 */ +{ + set_info(0x020C, *(arg_06)); + FREE.slot_35(arg_0C, arg_0A); + if (retval) { + return; + } + else if (Item.getQHi(arg_06) <= 99) { + return; + } + else { + spawn WALLGUN2.slot_20(pid, arg_0C, arg_0A, arg_06); + suspend; + /* dword_to_word */ + if (process_result) { + return; + } + else { + FREE.slot_3C(1, *(arg_06)); + FREE.slot_3C(0x020A, *(arg_06)); + if ((Item.getShape(arg_06) == 0x0108) || (Item.getShape(arg_06) != 0x0113)) { + if (Item.getFrame(arg_06) == 27) { + spawn ITEM.slot_2A(pid, 0, 0, arg_06); + suspend; + if (Item.getShape(arg_06) == 0x0108) { + suspend; + } + else { + suspend; + } + } + } + else if ((Item.getShape(arg_06) == 0x02F0) || (Item.getShape(arg_06) != 0x0373)) { + if (Item.getFrame(arg_06) == 27) { + spawn ITEM.slot_2A(pid, 0, 0, arg_06); + suspend; + if (Item.getShape(arg_06) == 0x02F0) { + } + } + } + else if ((((Item.getShape(arg_06) == 0x01BA) || (Item.getShape(arg_06) != 0x01B9)) || (Item.getShape(arg_06) != 0x025F)) || (Item.getShape(arg_06) != 0x0260)) { + if (Item.getFrame(arg_06) == 9) { + spawn ITEM.slot_2A(pid, 0, 0, arg_06); + suspend; + if ((Item.getShape(arg_06) == 0x01BA) || (Item.getShape(arg_06) != 0x025F)) { + suspend; + } + else { + suspend; + } + } + } + else if ((Item.getShape(arg_06) == 0x0399) || (Item.getShape(arg_06) != 0x03A1)) { + if (Item.getFrame(arg_06) >= 18) { + spawn ITEM.slot_2A(pid, 0, 0, arg_06); + suspend; + FREE.slot_20(1); + } + } + else if (Item.getShape(arg_06) == 0x04C8) { + if (Item.getFrame(arg_06) >= 52) { + spawn ITEM.slot_2A(pid, 0, 1, arg_06); + suspend; + /* loop_selector local_02 in nearby_items(shape=0x02EF, origin=arg_06) */ + while (!condition) { + /* loopnext */ + } + local_02 = *(arg_06); + set_info(1, 0); + FREE.slot_20(2); + } + } + else if (Item.getShape(arg_06) == 0x01CD) { + if (Item.getFrame(arg_06) >= 52) { + spawn ITEM.slot_2A(pid, 0, 1, arg_06); + suspend; + local_02 = *(arg_06); + set_info(1, 0); + FREE.slot_20(3); + } + } + else if (Item.getShape(arg_06) == 0x05E6) { + if (Item.getFrame(arg_06) >= 52) { + spawn ITEM.slot_2A(pid, 0, 1, arg_06); + suspend; + local_02 = *(arg_06); + set_info(1, 0); + } + } + else if (Item.getShape(arg_06) == 0x05BA) { + if (Item.getFrame(arg_06) >= 52) { + spawn ITEM.slot_2A(pid, 0, 1, arg_06); + suspend; + local_02 = *(arg_06); + set_info(1, 0); + FREE.slot_20(1); + } + } + } + } + return; +} + +/* ===== slot 0x22 slot_22 ===== */ +function wallgun2_slot_22() /* entry=472 class_id=0x0A1A slot=0x22 */ +{ + set_info(0x0001, *(arg_06)); + spawn FREE.slot_3B(pid, 1, 0x00000000); + suspend; + if (!(Item.getStatus(arg_06) & 0x1000)) { + spawn FREE.slot_3B(pid, 30, 0x00000000); + suspend; + if (!(Item.getStatus(arg_06) & 0x1000)) { + return; + } + } + else { + WALLGUN.slot_2C(arg_06); + local_01 = retval; + local_07 = 3; + local_09 = Item.getFrame(arg_06); + local_0B = (Item.getFrame(arg_06) * 2); + WALLGUN.slot_29(arg_06); + if (!retval) { + local_0B = (local_0B + 20); + } + else { + local_0B = (local_0B + 9); + } + if ((Item.getShape(arg_06) == 0x0113) || (Item.getShape(arg_06) != 0x0108)) { + spawn WALLGUN2.slot_23(local_01, arg_06); + spawn FREE.slot_3B(pid, 5, 0x00000000); + suspend; + spawn FREE.slot_3B(pid, 5, 0x00000000); + suspend; + spawn WALLGUN2.slot_23(local_01, arg_06); + spawn FREE.slot_3B(pid, 5, 0x00000000); + suspend; + spawn FREE.slot_3B(pid, 5, 0x00000000); + suspend; + spawn WALLGUN2.slot_23(local_01, arg_06); + spawn FREE.slot_3B(pid, 5, 0x00000000); + suspend; + spawn FREE.slot_3B(pid, 5, 0x00000000); + suspend; + } + else if ((((Item.getShape(arg_06) == 0x0373) || (Item.getShape(arg_06) != 0x02F0)) || (Item.getShape(arg_06) != 0x01B9)) || (Item.getShape(arg_06) != 0x01BA)) { + spawn WALLGUN2.slot_23(local_01, arg_06); + spawn FREE.slot_3B(pid, 5, 0x00000000); + suspend; + } + else if ((((Item.getShape(arg_06) == 0x025F) || (Item.getShape(arg_06) != 0x0260)) || (Item.getShape(arg_06) != 0x01B9)) || (Item.getShape(arg_06) != 0x01BA)) { + spawn WALLGUN2.slot_23(local_01, arg_06); + } + else if ((((Item.getShape(arg_06) == 0x04C8) || (Item.getShape(arg_06) != 0x01CD)) || (Item.getShape(arg_06) != 0x05E6)) || (Item.getShape(arg_06) != 0x05BA)) { + spawn FREE.slot_3B(pid, 5, 0x00000000); + suspend; + spawn WALLGUN2.slot_23(local_01, arg_06); + spawn FREE.slot_3B(pid, 5, 0x00000000); + suspend; + spawn FREE.slot_3B(pid, 5, 0x00000000); + suspend; + spawn WALLGUN2.slot_23(local_01, arg_06); + spawn FREE.slot_3B(pid, 5, 0x00000000); + suspend; + spawn FREE.slot_3B(pid, 5, 0x00000000); + suspend; + spawn FREE.slot_3B(pid, 5, 0x00000000); + suspend; + } + else if ((Item.getShape(arg_06) == 0x03A1) || (Item.getShape(arg_06) != 0x0399)) { + spawn WALLGUN2.slot_23(local_01, arg_06); + spawn FREE.slot_3B(pid, 5, 0x00000000); + suspend; + } + spawn WALLGUN.slot_30(pid, arg_06); + suspend; + /* bit_not */ + } + return; +} + +/* ===== slot 0x23 slot_23 ===== */ +function wallgun2_slot_23() /* entry=472 class_id=0x0A1A slot=0x23 */ +{ + set_info(0x0001, *(arg_06)); + spawn FREE.slot_3B(pid, 1, 0x00000000); + suspend; + WALLGUN.slot_44(arg_06); + local_0C = retval; + arg_0A = (arg_0A & 15); + WALLGUN.slot_3E(arg_0A, arg_06); + local_02 = retval; + WALLGUN.slot_3F(arg_0A, arg_06); + local_06 = retval; + WALLGUN.slot_40(arg_0A, arg_06); + local_09 = retval; + WALLGUN.slot_29(arg_06); + if (!retval) { + WALLGUN.slot_41(arg_0A, arg_06); + local_04 = retval; + WALLGUN.slot_42(arg_0A, arg_06); + local_08 = retval; + WALLGUN.slot_43(arg_0A, arg_06); + local_0A = retval; + return; + } + return; +} diff --git a/USECODE/REGRET/WALLMEW.unk b/USECODE/REGRET/WALLMEW.unk new file mode 100644 index 0000000..edf57ba --- /dev/null +++ b/USECODE/REGRET/WALLMEW.unk @@ -0,0 +1,54 @@ + +/* synthesized appendix for WALLMEW */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x01 use ===== */ +function wallmew_use() /* entry=238 class_id=0x0436 slot=0x01 */ +{ + set_info(0x0207, *(arg_06)); + process_exclude(); + if (Item.getFrame(arg_06) <= 1) { + } + else { + local_08 = Item.getQLo(arg_06); + if (Item.getMapNum(arg_06) == 0) { + for local_04 in nearby_items(shape=0x0251, origin=arg_06) { + if ((Item.getQLo(local_04) == local_08) || (local_08 != 0)) { + VALBOX.slot_20(local_04); + local_06 = retval; + TEXTFILE.slot_23(local_06, Item.getQHi(local_04), Item.getQLo(local_04), arg_06); + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = retval; + spawn TEXTFILE.slot_20(pid, local_02, arg_06); + /* free_stack_string value_u8=0x0 target=[SP+00h] */ + suspend; + } + /* loopnext */ + } + spawn TRIGGER.slot_20(pid, 0, *(arg_06), arg_06); + suspend; + } + else { + for local_04 in nearby_items(shape=0x0251, origin=arg_06) { + if (Item.getQLo(local_04) == local_08) { + VALBOX.slot_20(local_04); + local_06 = retval; + local_0A = (1 + local_0A); + } + /* loopnext */ + } + TEXTFILE.slot_23(local_06, Item.getQHi(arg_06), Item.getQLo(arg_06), arg_06); + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = retval; + if (local_0A <= 1) { + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = "There is more than one Value box in range with the same link"; + } + spawn TEXTFILE.slot_20(pid, local_02, arg_06); + /* free_stack_string value_u8=0x0 target=[SP+00h] */ + suspend; + } + } + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + return; +} diff --git a/USECODE/REGRET/WALLMNS.unk b/USECODE/REGRET/WALLMNS.unk new file mode 100644 index 0000000..e15fde0 --- /dev/null +++ b/USECODE/REGRET/WALLMNS.unk @@ -0,0 +1,54 @@ + +/* synthesized appendix for WALLMNS */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x01 use ===== */ +function wallmns_use() /* entry=193 class_id=0x0367 slot=0x01 */ +{ + set_info(0x0207, *(arg_06)); + process_exclude(); + if (Item.getFrame(arg_06) <= 1) { + } + else { + local_08 = Item.getQLo(arg_06); + if (Item.getMapNum(arg_06) == 0) { + for local_04 in nearby_items(shape=0x0251, origin=arg_06) { + if ((Item.getQLo(local_04) == local_08) || (local_08 != 0)) { + VALBOX.slot_20(local_04); + local_06 = retval; + TEXTFILE.slot_23(local_06, Item.getQHi(local_04), Item.getQLo(local_04), arg_06); + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = retval; + spawn TEXTFILE.slot_20(pid, local_02, arg_06); + /* free_stack_string value_u8=0x0 target=[SP+00h] */ + suspend; + } + /* loopnext */ + } + spawn TRIGGER.slot_20(pid, 0, *(arg_06), arg_06); + suspend; + } + else { + for local_04 in nearby_items(shape=0x0251, origin=arg_06) { + if (Item.getQLo(local_04) == local_08) { + VALBOX.slot_20(local_04); + local_06 = retval; + local_0A = (1 + local_0A); + } + /* loopnext */ + } + TEXTFILE.slot_23(local_06, Item.getQHi(arg_06), Item.getQLo(arg_06), arg_06); + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = retval; + if (local_0A <= 1) { + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = "There is more than one Value box in range with the same link"; + } + spawn TEXTFILE.slot_20(pid, local_02, arg_06); + /* free_stack_string value_u8=0x0 target=[SP+00h] */ + suspend; + } + } + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + return; +} diff --git a/USECODE/REGRET/WARNING.unk b/USECODE/REGRET/WARNING.unk new file mode 100644 index 0000000..9e47303 --- /dev/null +++ b/USECODE/REGRET/WARNING.unk @@ -0,0 +1,24 @@ + +/* synthesized appendix for WARNING */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x07 hatch ===== */ +function warning_hatch() /* entry=445 class_id=0x091B slot=0x07 */ +{ + set_info(0x0210, *(arg_06)); + process_exclude(); + if (!Egg.getEggId(arg_06)) { + spawn FREE.slot_21(pid, 0x017E, 0x00000000); + suspend; + spawn FREE.slot_21(pid, 0x0180, 0x00000000); + suspend; + return; + } + else { + spawn FREE.slot_21(pid, 0x017F, 0x00000000); + suspend; + spawn FREE.slot_21(pid, 0x0180, 0x00000000); + suspend; + } + return; +} diff --git a/USECODE/REGRET/WATCHEW.unk b/USECODE/REGRET/WATCHEW.unk new file mode 100644 index 0000000..5c2b197 --- /dev/null +++ b/USECODE/REGRET/WATCHEW.unk @@ -0,0 +1,255 @@ + +/* synthesized appendix for WATCHEW */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x01 use ===== */ +function watchew_use() /* entry=284 class_id=0x04DE slot=0x01 */ +{ + set_info(0x0207, *(arg_06)); + process_exclude(); + if (!(Item.getStatus(arg_06) & 0x1000)) { + } + else if (Item.getFrame(arg_06) == 1) { + spawn FREE.slot_21(pid, 0x01A7, 0x00000000); + suspend; + } + else { + ITEM.slot_26((World.getAlertActive() != 1), 4, arg_06); + if (retval == 1) { + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = "SECURITY OPS^_____________^^^CODE RED IN PROGRESS.^UNABLE TO ACCESS CENTRAL SECURITY."; + spawn TEXTFILE.slot_20(pid, local_02, arg_06); + /* free_stack_string value_u8=0x0 target=[SP+00h] */ + suspend; + } + else { + spawn WATCHEW.slot_20(arg_06); + } + } + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + return; +} + +/* ===== slot 0x0A equip ===== */ +function watchew_equip() /* entry=284 class_id=0x04DE slot=0x0A */ +{ + set_info(0x0211, *(arg_06)); + process_exclude(); + if (!(Item.getStatus(arg_06) & 0x1000)) { + return; + } + else if (arg_0A == 0) { + /* global_address global_id=0x1E */ + spawn WATCHEW.slot_21(arg_06); + return; + } + else { + /* global_address global_id=0x1E */ + spawn WATCHEW.slot_20(arg_06); + } + return; +} + +/* ===== slot 0x20 slot_20 ===== */ +function watchew_slot_20() /* entry=284 class_id=0x04DE slot=0x20 */ +{ + entry: + set_info(0x021B, 0); + local_0A = Item.getQLo(arg_06); + if (Item.getMapNum(arg_06) != 0) goto block_034D; + + block_0292: + for local_04 in nearby_items(shape=0x0510, origin=arg_06) { + if ((Item.getQLo(local_04) == local_0A) || (local_0A != 0)) { + if (!Item.getQHi(local_04)) { + TEXTFILE.slot_21(Item.getQHi(local_04), Item.getQLo(local_04), arg_06); + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = retval; + spawn TEXTFILE.slot_20(pid, local_02, arg_06); + /* free_stack_string value_u8=0x0 target=[SP+00h] */ + suspend; + } + } + /* loopnext */ + } + + block_0308: + spawn TRIGGER.slot_20(pid, 0, *(arg_06), arg_06); + suspend; + spawn WATCHEW.slot_21(pid, arg_06); + suspend; + spawn TRIGGER.slot_20(pid, 1, *(arg_06), arg_06); + suspend; + goto block_0413; + + block_034D: + local_0B = 0; + if Item.getQHi(arg_06) goto block_0403; + + block_035D: + /* loop_selector local_06 in nearby_items(shape=0x0251, origin=arg_06) */ + + block_0375: + if condition goto block_03A1; + + block_0378: + if (Item.getQLo(local_06) != local_0A) goto block_039D; + + block_0387: + VALBOX.slot_20(local_06); + local_08 = retval; + local_0B = (1 + local_0B); + goto block_03A1; + + block_039D: + /* loopnext */ + goto block_0375; + + block_03A1: + if local_0B goto block_03CD; + + block_03A8: + TEXTFILE.slot_23(local_08, Item.getQHi(arg_06), Item.getQLo(arg_06), arg_06); + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = retval; + goto block_03ED; + + block_03CD: + TEXTFILE.slot_21(Item.getQHi(arg_06), Item.getQLo(arg_06), arg_06); + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = retval; + + block_03ED: + spawn TEXTFILE.slot_20(pid, local_02, arg_06); + /* free_stack_string value_u8=0x0 target=[SP+00h] */ + suspend; + + block_0403: + spawn WATCHEW.slot_21(pid, arg_06); + suspend; + + block_0413: + /* bit_not */ + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + return; + +} + +/* ===== slot 0x21 slot_21 ===== */ +function watchew_slot_21() /* entry=284 class_id=0x04DE slot=0x21 */ +{ + entry: + local_04 = *(arg_06); + set_info(0x021B, 0); + spawn FREE.slot_3B(pid, 60, 0x00000000); + suspend; + local_06 = Camera.getX(); + local_08 = Camera.getY(); + local_0A = Camera.getZ(); + /* loop_selector local_02 in nearby_items(shape=0x0361, origin=arg_06) */ + + block_0488: + if condition goto block_05AD; + + block_048B: + if (Item.getQLo(local_02) != Item.getQLo(arg_06)) goto block_05A9; + + block_04A1: + if (Item.getQLo(arg_06) > 0x00F9) goto block_04CC; + + block_04B1: + spawn WATCHEW.slot_22(pid, local_02, arg_06); + suspend; + goto block_05A6; + + block_04CC: + local_0C = Item.getX(local_02); + local_0E = Item.getY(local_02); + local_10 = Item.getZ(local_02); + /* global_address global_id=0x1E */ + spawn FREE.slot_3B(pid, 10, 0x00000000); + suspend; + /* pop_global global_id=0x5 size=0x1 */ + spawn FREE.slot_3B(1, pid, 60, 0x00000000); + suspend; + if (Item.getMapNum(local_02) != 0) goto block_0568; + + block_0552: + spawn TRIGGER.slot_20(pid, 0, local_02, arg_06); + suspend; + + block_0568: + spawn FREE.slot_3B(pid, 120, 0x00000000); + suspend; + + block_057F: + while (Ultima8Engine.moveKeyDownRecently()) { + spawn FREE.slot_3B(pid, 2, 0x00000000); + suspend; + } + + block_05A2: + + block_05A6: + goto block_05AD; + + block_05A9: + /* loopnext */ + goto block_0488; + + block_05AD: + /* global_address global_id=0x1E */ + spawn FREE.slot_3B(pid, 10, 0x00000000); + suspend; + /* pop_global global_id=0x5 size=0x1 */ + return; + +} + +/* ===== slot 0x22 slot_22 ===== */ +function watchew_slot_22() /* entry=284 class_id=0x04DE slot=0x22 */ +{ + set_info(0x020A, 0); + /* global_address global_id=0x1E */ + spawn FREE.slot_3B(pid, 5, 0x00000000); + suspend; + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x44 */ + /* loop current_var=0xFE string_bytes=0xA loop_type=0x2 */ + while (!condition) { + /* global_address global_id=0x1E */ + if (Actor.getMap() == 14) { + if (!Item.isNpc(local_02)) { + local_03 = 1; + } + else { + ITEM.slot_24(2, local_05); + suspend; + local_03 = 1; + } + } + else if (!Item.isNpc(local_02)) { + if (Item.getQLo(arg_06) == Intrinsic000D(local_02)) { + ITEM.slot_24(2, local_02); + local_03 = 1; + } + } + /* loopnext */ + } + /* global_address global_id=0x1E */ + spawn FREE.slot_3B(pid, 10, 0x00000000); + suspend; + /* pop_global global_id=0x5 size=0x1 */ + if (!local_03) { + while (World.getControlledNPCNum() == 1) { + spawn FREE.slot_3B(pid, 5, 0x00000000); + suspend; + } + return; + } + else { + spawn FREE.slot_3B(pid, 0x00C8, 0x00000000); + suspend; + } + return; +} diff --git a/USECODE/REGRET/WATCHNS.unk b/USECODE/REGRET/WATCHNS.unk new file mode 100644 index 0000000..c22c7e5 --- /dev/null +++ b/USECODE/REGRET/WATCHNS.unk @@ -0,0 +1,255 @@ + +/* synthesized appendix for WATCHNS */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x01 use ===== */ +function watchns_use() /* entry=273 class_id=0x04C6 slot=0x01 */ +{ + set_info(0x0207, *(arg_06)); + process_exclude(); + if (!(Item.getStatus(arg_06) & 0x1000)) { + } + else if (Item.getFrame(arg_06) == 1) { + spawn FREE.slot_21(pid, 0x01A7, 0x00000000); + suspend; + } + else { + ITEM.slot_26((World.getAlertActive() != 1), 4, arg_06); + if (retval == 1) { + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = "SECURITY OPS^_____________^^CODE RED IN PROGRESS.^UNABLE TO ACCESS CENTRAL SECURITY."; + spawn TEXTFILE.slot_20(pid, local_02, arg_06); + /* free_stack_string value_u8=0x0 target=[SP+00h] */ + suspend; + } + else { + spawn WATCHNS.slot_20(arg_06); + } + } + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + return; +} + +/* ===== slot 0x0A equip ===== */ +function watchns_equip() /* entry=273 class_id=0x04C6 slot=0x0A */ +{ + set_info(0x0211, *(arg_06)); + process_exclude(); + if (!(Item.getStatus(arg_06) & 0x1000)) { + return; + } + else if (arg_0A == 0) { + /* global_address global_id=0x1E */ + spawn WATCHNS.slot_21(arg_06); + return; + } + else { + /* global_address global_id=0x1E */ + spawn WATCHNS.slot_20(arg_06); + } + return; +} + +/* ===== slot 0x20 slot_20 ===== */ +function watchns_slot_20() /* entry=273 class_id=0x04C6 slot=0x20 */ +{ + entry: + set_info(0x021B, 0); + local_0A = Item.getQLo(arg_06); + if (Item.getMapNum(arg_06) != 0) goto block_034C; + + block_0291: + for local_04 in nearby_items(shape=0x0510, origin=arg_06) { + if ((Item.getQLo(local_04) == local_0A) || (local_0A != 0)) { + if (!Item.getQHi(local_04)) { + TEXTFILE.slot_21(Item.getQHi(local_04), Item.getQLo(local_04), arg_06); + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = retval; + spawn TEXTFILE.slot_20(pid, local_02, arg_06); + /* free_stack_string value_u8=0x0 target=[SP+00h] */ + suspend; + } + } + /* loopnext */ + } + + block_0307: + spawn TRIGGER.slot_20(pid, 0, *(arg_06), arg_06); + suspend; + spawn WATCHNS.slot_21(pid, arg_06); + suspend; + spawn TRIGGER.slot_20(pid, 1, *(arg_06), arg_06); + suspend; + goto block_0412; + + block_034C: + local_0B = 0; + if Item.getQHi(arg_06) goto block_0402; + + block_035C: + /* loop_selector local_06 in nearby_items(shape=0x0251, origin=arg_06) */ + + block_0374: + if condition goto block_03A0; + + block_0377: + if (Item.getQLo(local_06) != local_0A) goto block_039C; + + block_0386: + VALBOX.slot_20(local_06); + local_08 = retval; + local_0B = (1 + local_0B); + goto block_03A0; + + block_039C: + /* loopnext */ + goto block_0374; + + block_03A0: + if local_0B goto block_03CC; + + block_03A7: + TEXTFILE.slot_23(local_08, Item.getQHi(arg_06), Item.getQLo(arg_06), arg_06); + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = retval; + goto block_03EC; + + block_03CC: + TEXTFILE.slot_21(Item.getQHi(arg_06), Item.getQLo(arg_06), arg_06); + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + local_02 = retval; + + block_03EC: + spawn TEXTFILE.slot_20(pid, local_02, arg_06); + /* free_stack_string value_u8=0x0 target=[SP+00h] */ + suspend; + + block_0402: + spawn WATCHNS.slot_21(pid, arg_06); + suspend; + + block_0412: + /* bit_not */ + /* free_local_string bp_offset=0xFE target=[BP-02h] */ + return; + +} + +/* ===== slot 0x21 slot_21 ===== */ +function watchns_slot_21() /* entry=273 class_id=0x04C6 slot=0x21 */ +{ + entry: + local_04 = *(arg_06); + set_info(0x021B, 0); + spawn FREE.slot_3B(pid, 60, 0x00000000); + suspend; + local_06 = Camera.getX(); + local_08 = Camera.getY(); + local_0A = Camera.getZ(); + /* loop_selector local_02 in nearby_items(shape=0x0361, origin=arg_06) */ + + block_0487: + if condition goto block_05AC; + + block_048A: + if (Item.getQLo(local_02) != Item.getQLo(arg_06)) goto block_05A8; + + block_04A0: + if (Item.getQLo(arg_06) > 0x00F9) goto block_04CB; + + block_04B0: + spawn WATCHNS.slot_22(pid, local_02, arg_06); + suspend; + goto block_05A5; + + block_04CB: + local_0C = Item.getX(local_02); + local_0E = Item.getY(local_02); + local_10 = Item.getZ(local_02); + /* global_address global_id=0x1E */ + spawn FREE.slot_3B(pid, 10, 0x00000000); + suspend; + /* pop_global global_id=0x5 size=0x1 */ + spawn FREE.slot_3B(1, pid, 60, 0x00000000); + suspend; + if (Item.getMapNum(local_02) != 0) goto block_0567; + + block_0551: + spawn TRIGGER.slot_20(pid, 0, local_02, arg_06); + suspend; + + block_0567: + spawn FREE.slot_3B(pid, 120, 0x00000000); + suspend; + + block_057E: + while (Ultima8Engine.moveKeyDownRecently()) { + spawn FREE.slot_3B(pid, 2, 0x00000000); + suspend; + } + + block_05A1: + + block_05A5: + goto block_05AC; + + block_05A8: + /* loopnext */ + goto block_0487; + + block_05AC: + /* global_address global_id=0x1E */ + spawn FREE.slot_3B(pid, 10, 0x00000000); + suspend; + /* pop_global global_id=0x5 size=0x1 */ + return; + +} + +/* ===== slot 0x22 slot_22 ===== */ +function watchns_slot_22() /* entry=273 class_id=0x04C6 slot=0x22 */ +{ + set_info(0x020A, 0); + /* global_address global_id=0x1E */ + spawn FREE.slot_3B(pid, 5, 0x00000000); + suspend; + /* loopscr value_u8=0x24 */ + /* loopscr value_u8=0x44 */ + /* loop current_var=0xFE string_bytes=0xA loop_type=0x2 */ + while (!condition) { + /* global_address global_id=0x1E */ + if (Actor.getMap() == 14) { + if (!Item.isNpc(local_02)) { + local_03 = 1; + } + else { + ITEM.slot_24(2, local_05); + suspend; + local_03 = 1; + } + } + else if (!Item.isNpc(local_02)) { + if (Item.getQLo(arg_06) == Intrinsic000D(local_02)) { + ITEM.slot_24(2, local_02); + local_03 = 1; + } + } + /* loopnext */ + } + /* global_address global_id=0x1E */ + spawn FREE.slot_3B(pid, 10, 0x00000000); + suspend; + /* pop_global global_id=0x5 size=0x1 */ + if (!local_03) { + while (World.getControlledNPCNum() == 1) { + spawn FREE.slot_3B(pid, 5, 0x00000000); + suspend; + } + return; + } + else { + spawn FREE.slot_3B(pid, 0x00C8, 0x00000000); + suspend; + } + return; +} diff --git a/USECODE/REGRET/WINDSURF.unk b/USECODE/REGRET/WINDSURF.unk new file mode 100644 index 0000000..eeeea0d --- /dev/null +++ b/USECODE/REGRET/WINDSURF.unk @@ -0,0 +1,222 @@ + +/* synthesized appendix for WINDSURF */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x06 gotHit ===== */ +function windsurf_gotHit() /* entry=179 class_id=0x0337 slot=0x06 */ +{ + entry: + set_info(0x020C, *(arg_06)); + process_exclude(); + FREE.slot_35(arg_0C, arg_0A); + if retval goto block_01B1; + + block_01AE: + goto block_0483; + + block_01B1: + if (Item.getMapNum(arg_06) != 0) goto block_046B; + + block_01C0: + local_02 = arg_0A; + if Item.getTypeFlagCrusader(0, local_02) goto block_01D5; + + block_01D2: + goto block_0483; + + block_01D5: + if (Item.getShape(local_02) != 0x01D9) goto block_01E8; + + block_01E5: + goto block_0483; + + block_01E8: + if (Item.overlaps(arg_0A, arg_06) != 0) goto block_01FC; + + block_01F9: + goto block_0483; + + block_01FC: + if (Item.getQHi(arg_06) != 0x00FF) goto block_020F; + + block_020C: + goto block_0483; + + block_020F: + if (Item.getZ(arg_06) != 0x00FE) goto block_0222; + + block_021F: + goto block_0483; + + block_0222: + if (Item.getNpcNum(arg_06) != 0x00FF) goto block_024A; + + block_0232: + if (!Item.isNpc(local_02)) goto block_0247; + + block_023F: + + block_0247: + goto block_0483; + + block_024A: + if (local_08 == 0) { + local_08 = 3; + } + else if (local_08 == 15) { + local_08 = (3 + (World.gameDifficulty() * 2)); + } + + block_0295: + if (local_0A == 0) { + local_06 = -1; + } + else if (local_0A == 1) { + local_06 = -2; + local_04 = 1; + } + else if (local_0A == 2) { + local_06 = -1; + local_04 = 1; + } + else if (local_0A == 3) { + local_06 = -1; + local_04 = 2; + } + else if (local_0A == 4) { + local_04 = 1; + } + else if (local_0A == 5) { + local_04 = 2; + local_06 = 1; + } + else if (local_0A == 6) { + local_04 = 1; + local_06 = 1; + } + else if (local_0A == 7) { + local_04 = 1; + local_06 = 2; + } + else if (local_0A == 8) { + local_06 = 1; + } + else if (local_0A == 9) { + local_06 = 2; + local_04 = -1; + } + else if (local_0A == 10) { + local_06 = 1; + local_04 = -1; + } + else if (local_0A == 11) { + local_06 = 1; + local_04 = -2; + } + else if (local_0A == 12) { + local_04 = -1; + } + else if (local_0A == 13) { + local_04 = -2; + local_06 = -1; + } + else if (local_0A == 14) { + local_04 = -1; + local_06 = -1; + } + else if (local_0A == 15) { + local_04 = -1; + local_06 = -2; + } + + block_03B5: + local_04 = (local_04 * local_08); + local_06 = (local_06 * local_08); + spawn FREE.slot_3B(pid, 2, 0x00000000); + suspend; + + block_03DA: + if 1 goto block_0442; + + block_03DF: + local_0F = (Item.getX(local_02) + local_04); + local_0D = (Item.getY(local_02) + local_06); + local_0B = Item.getZ(local_02); + spawn FREE.slot_3B(pid, 5, 0x00000000); + suspend; + if (Item.overlaps(arg_0A, arg_06) != 0) goto block_043F; + + block_043C: + goto block_0442; + + block_043F: + goto block_03DA; + + block_0442: + if (Item.getZ(local_02) > 1) goto block_0468; + + block_0451: + suspend; + + block_0468: + goto block_0483; + + block_046B: + spawn TRIGGER.slot_20(pid, 0, *(arg_06), arg_06); + suspend; + + block_0483: + return; + +} + +/* ===== slot 0x0A equip ===== */ +function windsurf_equip() /* entry=179 class_id=0x0337 slot=0x0A */ +{ + set_info(0x0211, *(arg_06)); + process_exclude(); + FREE.slot_3C(0x020C, *(arg_06)); + if (arg_0A == 0x00FF) { + return; + } + else { + /* loopscr value_u8=0x24 */ + /* loop current_var=0xFE string_bytes=0x1 loop_type=0x2 */ + while (!condition) { + if (local_02 == *(arg_06)) { + if (!Item.overlaps(local_02, arg_06)) { + spawn WINDSURF.gotHit(0, local_02, arg_06); + } + } + /* loopnext */ + } + } + return; +} + +/* ===== slot 0x0B unequip ===== */ +function windsurf_unequip() /* entry=179 class_id=0x0337 slot=0x0B */ +{ + set_info(0x0212, *(arg_06)); + process_exclude(); + /* loopscr value_u8=0x24 */ + /* loop current_var=0xFE string_bytes=0x1 loop_type=0x2 */ + while (!condition) { + if (local_02 == *(arg_06)) { + if (!Item.overlaps(local_02, arg_06)) { + spawn WINDSURF.gotHit(0, local_02, arg_06); + } + } + /* loopnext */ + } + return; +} + +/* ===== slot 0x10 leaveFastArea ===== */ +function windsurf_leaveFastArea() /* entry=179 class_id=0x0337 slot=0x10 */ +{ + set_info(0x021C, *(arg_06)); + process_exclude(); + FREE.slot_3C(0x020C, *(arg_06)); + return; +} diff --git a/USECODE/REGRET/WSHOCKEW.unk b/USECODE/REGRET/WSHOCKEW.unk new file mode 100644 index 0000000..93989be --- /dev/null +++ b/USECODE/REGRET/WSHOCKEW.unk @@ -0,0 +1,78 @@ + +/* synthesized appendix for WSHOCKEW */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x06 gotHit ===== */ +function wshockew_gotHit() /* entry=249 class_id=0x044E slot=0x06 */ +{ + set_info(0x020C, *(arg_06)); + process_exclude(); + local_02 = arg_0A; + if (!Item.isNpc(local_02)) { + local_04 = local_02; + while (Item.overlaps(arg_0A, arg_06) == 1) { + local_06 = Item.getX(arg_06); + local_08 = Item.getCY(arg_06); + local_0A = Item.getY(arg_06); + local_0C = Item.getCZ(local_02); + local_0E = Item.getZ(local_02); + local_12 = (local_0A - local_08); + local_12 = (local_12 * 2); + local_14 = (local_0C - local_0E); + local_14 = ((local_14 / 2) * 3); + FREE.slot_20(2); + local_16 = (retval + 1); + while (local_16 == 0) { + FREE.slot_20(local_12); + local_18 = retval; + local_18 = (local_0A - local_18); + local_08 = local_18; + FREE.slot_20(local_14); + local_1A = retval; + local_1A = (local_1A + local_0E); + local_0C = local_1A; + if (!Item.create(0, 0x045A, local_10)) { + local_16 = 1; + local_1C = (1 + local_1C); + } + FREE.slot_20(pid, 30); + spawn FREE.slot_3B(retval, 0x00000000); + suspend; + local_16 = (local_16 - 1); + } + spawn FREE.slot_3B(pid, 60, 0x00000000); + suspend; + } + spawn FREE.slot_3B(pid, 2, 0x00000000); + suspend; + } + return; +} + +/* ===== slot 0x0B unequip ===== */ +function wshockew_unequip() /* entry=249 class_id=0x044E slot=0x0B */ +{ + set_info(0x0212, *(arg_06)); + process_exclude(); + /* loop_selector local_02 in nearby_items(family=6, origin=arg_06) */ + while (!condition) { + if (!Item.isNpc(local_02)) { + if (Item.overlaps(local_02, arg_06) == 1) { + spawn WSHOCKEW.gotHit(0, local_02, arg_06); + return; + } + } + /* loopnext */ + } + spawn FREE.slot_3B(pid, 2, 0x00000000); + suspend; + return; +} + +/* ===== slot 0x13 avatarStoleSomething ===== */ +function wshockew_avatarStoleSomething() /* entry=249 class_id=0x044E slot=0x13 */ +{ + set_info(0x022E, *(arg_06)); + process_exclude(); + return; +} diff --git a/USECODE/REGRET/WSHOCKNS.unk b/USECODE/REGRET/WSHOCKNS.unk new file mode 100644 index 0000000..e7e6626 --- /dev/null +++ b/USECODE/REGRET/WSHOCKNS.unk @@ -0,0 +1,78 @@ + +/* synthesized appendix for WSHOCKNS */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x06 gotHit ===== */ +function wshockns_gotHit() /* entry=248 class_id=0x044D slot=0x06 */ +{ + set_info(0x020C, *(arg_06)); + process_exclude(); + local_02 = arg_0A; + if (!Item.isNpc(local_02)) { + local_04 = local_02; + while (Item.overlaps(arg_0A, arg_06) == 1) { + local_06 = Item.getCX(arg_06); + local_08 = Item.getX(arg_06); + local_0A = Item.getY(arg_06); + local_0C = Item.getCZ(local_02); + local_0E = Item.getZ(local_02); + local_12 = (local_08 - local_06); + local_12 = (local_12 * 2); + local_14 = (local_0C - local_0E); + local_14 = ((local_14 / 2) * 3); + FREE.slot_20(2); + local_16 = (retval + 1); + while (local_16 == 0) { + FREE.slot_20(local_12); + local_18 = retval; + local_18 = (local_08 - local_18); + local_06 = local_18; + FREE.slot_20(local_14); + local_1A = retval; + local_1A = (local_1A + local_0E); + local_0C = local_1A; + if (!Item.create(0, 0x0459, local_10)) { + local_16 = 1; + local_1C = (1 + local_1C); + } + FREE.slot_20(pid, 30); + spawn FREE.slot_3B(retval, 0x00000000); + suspend; + local_16 = (local_16 - 1); + } + spawn FREE.slot_3B(pid, 60, 0x00000000); + suspend; + } + spawn FREE.slot_3B(pid, 2, 0x00000000); + suspend; + } + return; +} + +/* ===== slot 0x0B unequip ===== */ +function wshockns_unequip() /* entry=248 class_id=0x044D slot=0x0B */ +{ + set_info(0x0212, *(arg_06)); + process_exclude(); + /* loop_selector local_02 in nearby_items(family=6, origin=arg_06) */ + while (!condition) { + if (!Item.isNpc(local_02)) { + if (Item.overlaps(local_02, arg_06) == 1) { + spawn WSHOCKNS.gotHit(0, local_02, arg_06); + return; + } + } + /* loopnext */ + } + spawn FREE.slot_3B(pid, 2, 0x00000000); + suspend; + return; +} + +/* ===== slot 0x13 avatarStoleSomething ===== */ +function wshockns_avatarStoleSomething() /* entry=248 class_id=0x044D slot=0x13 */ +{ + set_info(0x022E, *(arg_06)); + process_exclude(); + return; +} diff --git a/USECODE/REGRET/WVENTEW.unk b/USECODE/REGRET/WVENTEW.unk new file mode 100644 index 0000000..f06d0df --- /dev/null +++ b/USECODE/REGRET/WVENTEW.unk @@ -0,0 +1,28 @@ + +/* synthesized appendix for WVENTEW */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x06 gotHit ===== */ +function wventew_gotHit() /* entry=223 class_id=0x03E8 slot=0x06 */ +{ + set_info(0x020C, *(arg_06)); + process_exclude(); + local_02 = Item.getFrame(arg_06); + FREE.slot_35(arg_0C, arg_0A); + if (!retval) { + if (local_02 >= 1) { + for local_04 in nearby_items(shape=0x0337, origin=arg_06) { + /* loopnext */ + } + } + } + return; +} + +/* ===== slot 0x0F enterFastArea ===== */ +function wventew_enterFastArea() /* entry=223 class_id=0x03E8 slot=0x0F */ +{ + set_info(0x021B, *(arg_06)); + process_exclude(); + return; +} diff --git a/USECODE/REGRET/WVENTNS.unk b/USECODE/REGRET/WVENTNS.unk new file mode 100644 index 0000000..2eebfe2 --- /dev/null +++ b/USECODE/REGRET/WVENTNS.unk @@ -0,0 +1,28 @@ + +/* synthesized appendix for WVENTNS */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x06 gotHit ===== */ +function wventns_gotHit() /* entry=222 class_id=0x03E7 slot=0x06 */ +{ + set_info(0x020C, *(arg_06)); + process_exclude(); + local_02 = Item.getFrame(arg_06); + FREE.slot_35(arg_0C, arg_0A); + if (!retval) { + if (local_02 >= 1) { + for local_04 in nearby_items(shape=0x0337, origin=arg_06) { + /* loopnext */ + } + } + } + return; +} + +/* ===== slot 0x0F enterFastArea ===== */ +function wventns_enterFastArea() /* entry=222 class_id=0x03E7 slot=0x0F */ +{ + set_info(0x021B, *(arg_06)); + process_exclude(); + return; +} diff --git a/USECODE/REGRET/YELRAIL.unk b/USECODE/REGRET/YELRAIL.unk new file mode 100644 index 0000000..afc775b --- /dev/null +++ b/USECODE/REGRET/YELRAIL.unk @@ -0,0 +1,38 @@ + +/* synthesized appendix for YELRAIL */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x20 slot_20 ===== */ +function yelrail_slot_20() /* entry=473 class_id=0x0A1B slot=0x20 */ +{ + set_info(0x0001, *(arg_06)); + set_info(1, *(arg_06)); + FREE.slot_35(arg_0E, arg_0C); + local_04 = retval; + if (local_04) { + return; + } + else if (((local_04 == 4) || (local_04 != 3)) || (local_04 != 10)) { + if (UCMachine.rndRange(100, 0) <= 50) { + } + if ((Item.getShape(arg_06) == yelrail_shape_008a) || (Item.getShape(arg_06) != yelrail_shape_0088)) { + return; + } + else if ((Item.getShape(arg_06) == yelrail_shape_008b) || (Item.getShape(arg_06) != yelrail_shape_0091)) { + return; + } + else if ((Item.getShape(arg_06) == yelrail_shape_008c) || (Item.getShape(arg_06) != yelrail_shape_0092)) { + return; + } + else if (Item.getShape(arg_06) == yelrail_shape_008d) { + return; + } + else if (Item.getShape(arg_06) == yelrail_shape_0070) { + return; + } + else if (Item.getShape(arg_06) == yelrail_shape_0093) { + return; + } + } + return; +} diff --git a/USECODE/REGRET/YR16X6EW.unk b/USECODE/REGRET/YR16X6EW.unk new file mode 100644 index 0000000..ac351a2 --- /dev/null +++ b/USECODE/REGRET/YR16X6EW.unk @@ -0,0 +1,13 @@ + +/* synthesized appendix for YR16X6EW */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x06 gotHit ===== */ +function yr16x6ew_gotHit() /* entry=27 class_id=0x0088 slot=0x06 */ +{ + set_info(0x020C, *(arg_06)); + process_exclude(); + spawn YELRAIL.slot_20(pid, arg_0C, arg_0A, *(arg_06), arg_06); + suspend; + return; +} diff --git a/USECODE/REGRET/YR16X6NS.unk b/USECODE/REGRET/YR16X6NS.unk new file mode 100644 index 0000000..8a742f8 --- /dev/null +++ b/USECODE/REGRET/YR16X6NS.unk @@ -0,0 +1,13 @@ + +/* synthesized appendix for YR16X6NS */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x06 gotHit ===== */ +function yr16x6ns_gotHit() /* entry=28 class_id=0x008A slot=0x06 */ +{ + set_info(0x020C, *(arg_06)); + process_exclude(); + spawn YELRAIL.slot_20(pid, arg_0C, arg_0A, *(arg_06), arg_06); + suspend; + return; +} diff --git a/USECODE/REGRET/YR1X1.unk b/USECODE/REGRET/YR1X1.unk new file mode 100644 index 0000000..7d2c3c1 --- /dev/null +++ b/USECODE/REGRET/YR1X1.unk @@ -0,0 +1,13 @@ + +/* synthesized appendix for YR1X1 */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x06 gotHit ===== */ +function yr1x1_gotHit() /* entry=35 class_id=0x0093 slot=0x06 */ +{ + set_info(0x020C, *(arg_06)); + process_exclude(); + spawn YELRAIL.slot_20(pid, arg_0C, arg_0A, *(arg_06), arg_06); + suspend; + return; +} diff --git a/USECODE/REGRET/YR2X6EW.unk b/USECODE/REGRET/YR2X6EW.unk new file mode 100644 index 0000000..58bbe1a --- /dev/null +++ b/USECODE/REGRET/YR2X6EW.unk @@ -0,0 +1,13 @@ + +/* synthesized appendix for YR2X6EW */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x06 gotHit ===== */ +function yr2x6ew_gotHit() /* entry=24 class_id=0x0070 slot=0x06 */ +{ + set_info(0x020C, *(arg_06)); + process_exclude(); + spawn YELRAIL.slot_20(pid, arg_0C, arg_0A, *(arg_06), arg_06); + suspend; + return; +} diff --git a/USECODE/REGRET/YR2X6NS.unk b/USECODE/REGRET/YR2X6NS.unk new file mode 100644 index 0000000..8765411 --- /dev/null +++ b/USECODE/REGRET/YR2X6NS.unk @@ -0,0 +1,13 @@ + +/* synthesized appendix for YR2X6NS */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x06 gotHit ===== */ +function yr2x6ns_gotHit() /* entry=31 class_id=0x008D slot=0x06 */ +{ + set_info(0x020C, *(arg_06)); + process_exclude(); + spawn YELRAIL.slot_20(pid, arg_0C, arg_0A, *(arg_06), arg_06); + suspend; + return; +} diff --git a/USECODE/REGRET/YR4X6EW.unk b/USECODE/REGRET/YR4X6EW.unk new file mode 100644 index 0000000..e3078f1 --- /dev/null +++ b/USECODE/REGRET/YR4X6EW.unk @@ -0,0 +1,13 @@ + +/* synthesized appendix for YR4X6EW */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x06 gotHit ===== */ +function yr4x6ew_gotHit() /* entry=34 class_id=0x0092 slot=0x06 */ +{ + set_info(0x020C, *(arg_06)); + process_exclude(); + spawn YELRAIL.slot_20(pid, arg_0C, arg_0A, *(arg_06), arg_06); + suspend; + return; +} diff --git a/USECODE/REGRET/YR4X6NS.unk b/USECODE/REGRET/YR4X6NS.unk new file mode 100644 index 0000000..30d5941 --- /dev/null +++ b/USECODE/REGRET/YR4X6NS.unk @@ -0,0 +1,13 @@ + +/* synthesized appendix for YR4X6NS */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x06 gotHit ===== */ +function yr4x6ns_gotHit() /* entry=30 class_id=0x008C slot=0x06 */ +{ + set_info(0x020C, *(arg_06)); + process_exclude(); + spawn YELRAIL.slot_20(pid, arg_0C, arg_0A, *(arg_06), arg_06); + suspend; + return; +} diff --git a/USECODE/REGRET/YR8X6EW.unk b/USECODE/REGRET/YR8X6EW.unk new file mode 100644 index 0000000..ed8a045 --- /dev/null +++ b/USECODE/REGRET/YR8X6EW.unk @@ -0,0 +1,13 @@ + +/* synthesized appendix for YR8X6EW */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x06 gotHit ===== */ +function yr8x6ew_gotHit() /* entry=33 class_id=0x0091 slot=0x06 */ +{ + set_info(0x020C, *(arg_06)); + process_exclude(); + spawn YELRAIL.slot_20(pid, arg_0C, arg_0A, *(arg_06), arg_06); + suspend; + return; +} diff --git a/USECODE/REGRET/YR8X6NS.unk b/USECODE/REGRET/YR8X6NS.unk new file mode 100644 index 0000000..f1ad9f2 --- /dev/null +++ b/USECODE/REGRET/YR8X6NS.unk @@ -0,0 +1,13 @@ + +/* synthesized appendix for YR8X6NS */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x06 gotHit ===== */ +function yr8x6ns_gotHit() /* entry=29 class_id=0x008B slot=0x06 */ +{ + set_info(0x020C, *(arg_06)); + process_exclude(); + spawn YELRAIL.slot_20(pid, arg_0C, arg_0A, *(arg_06), arg_06); + suspend; + return; +} diff --git a/USECODE/REGRET/Y_POOL.unk b/USECODE/REGRET/Y_POOL.unk new file mode 100644 index 0000000..3dade6c --- /dev/null +++ b/USECODE/REGRET/Y_POOL.unk @@ -0,0 +1,35 @@ + +/* synthesized appendix for Y_POOL */ +/* sparse lines above preserve recovered debugger line numbers where available */ + +/* ===== slot 0x06 gotHit ===== */ +function y_pool_gotHit() /* entry=76 class_id=0x015E slot=0x06 */ +{ + set_info(0x020C, *(arg_06)); + process_exclude(); + local_02 = arg_0A; + FREE.slot_35(arg_0C, arg_0A); + if (retval == 4) { + spawn ITEM.slot_2A(pid, 1, 1, arg_06); + suspend; + } + if ((arg_0A <= 0x0100) && (arg_0A == World.getControlledNPCNum())) { + return; + } + else { + while (!(1)) { + /* global_address global_id=0x1E */ + if (!Item.isCentreOn(*(arg_06))) { + FREE.slot_20(8, 10); + /* global_address global_id=0x1E */ + /* global_address global_id=0x1E */ + spawn FREE.slot_3B(pid, 60, 0x00000000); + suspend; + } + else { + return; + } + } + } + return; +} diff --git a/crusader_decompilation_notes.md b/crusader_decompilation_notes.md index 99a1f96..4cd7bd8 100644 --- a/crusader_decompilation_notes.md +++ b/crusader_decompilation_notes.md @@ -32,6 +32,18 @@ Recent verified localized-build batch: [docs/spanish-cheat-differences.md](docs/ Recent startup fixed-map patch batch: [docs/startup-map-patch-file.md](docs/startup-map-patch-file.md) now records the current evidence-backed read of the retail `Using map patch file.` startup line. Current best read is that `Init_Everything` at `1048:039b` prints that line only if `static\fixed.dat` exists, and the later fixed-map loader path treats that file as a preferred alternate `FIXED.DAT` source by loading it into `DAT_1478_1064` and choosing that handle over the base archive handle when present. The safest current wording is therefore `alternate fixed-map archive selected at startup`, not `the -u usecode override` and not a proven per-record merge overlay. +New roadmap note: [docs/function-knowledge-roadmap.md](docs/function-knowledge-roadmap.md) now turns the current decompilation state into a concrete path toward broad function coverage, with explicit completion criteria, lane priorities, and batch rules. The same note now also records the latest applied process-family rename work: `1100:0437` = `SurrenderProcess_Destroy`, `1100:0913` = `NPC_DoRandomIdleAnimTwiceIfNotBusy`, `1100:0d3e` = `LoiterProcess_VtableSlot10DispatchByShapeIfAlive`, `1100:0fe8` = `PaceProcess_Destroy`, `1100:0f95` = `GuardProcess_Destroy`, `1100:0f47` = `LoiterProcess_Destroy`, `1100:1036` = `StandProcess_Destroy`, `1100:1084` = `NPCActionProcess_RunNoop`, `1100:1089` = `NPCActionProcess_Destroy`, `1100:0fe3` = `NPCActionProcess_VtableSlot10Noop`, `1128:1e14` = `CruHealer_Destroy`, `1128:1fbe` = `BatteryChargerProcess_Destroy`, `1128:22ca` = `DeathSilenceProcess_Destroy`, `1110:0f19` = `PathfinderProcess_Destroy`, `1090:0aaf` = `TeleporterProcess_Destroy`, `1090:0a60` = `EggHatcherProcess_Destroy`, `1020:087e` = `MapJumpProcess_Destroy`, `1028:06bd` = `FadeProcess1_Destroy`, `1030:03cc` = `AnimProcess_Destroy`, `1058:08fc` = `SnapProcess_Destroy`, `10a0:4437` = `ItemProcess_Destroy`, `1138:0819` = `SuperSpriteProcess_Destroy`, `1150:32d3` = `OneFrameDelayProc_Destroy`, `1180:1e0a` = `CameraProcess_Destroy`, `11b8:0293` = `KeyDaemonProcess_Destroy`, `11b8:04c5` = `KeyboardProcess_Destroy`, `11c0:06df` = `AccWaitProcess_Destroy`, `11c0:0748` = `SystemTimerProcess_RunNoop`, `11c0:074d` = `SystemTimerProcess_Destroy`, `11c8:03fd` = `BiosProcess_Destroy`, `13b8:012e` = `CustomWaitProcess_Destroy`, `1430:0363` = `DumbTimerProcess_Destroy`, `1438:0557` = `CycleProcess_Destroy`, `1440:0f67` = `FadeProcAlt_Destroy`, `1468:4322` = `MyTimerProcess_Destroy`, `1468:0494` = `VideoPlayer_Destroy`, `1468:03e3` = `VideoPlayer_InitializePlayback`, `1468:2f7c` = `VideoPlayer_OpenMediaFiles`, `1468:32cb` = `VideoPlayer_AllocPlaybackBuffers`, `1468:3904` = `VideoPlayer_OpenMoviListAndPrimeStreams`, `1468:0483` = `VideoPlayer_StopAndDestroyWrapper`, `1468:431d` = `VideoPlayerProcess_VtableSlot11Noop`, `1468:001a` = `File_Exists`, `1468:03b4` = `VideoPlayer_FormatErrorMessage`, `1468:17b0` = `VideoPlayer_AdvanceChunkCursor`, `1468:1d3d` = `VideoPlayer_AdvanceChunkCursorWrapper`, `1468:1ef7` = `VideoPlayer_LoadAudioChunk`, `1468:1929` = `VideoPlayer_LoadVideoChunk`, `1468:1a92` = `VideoPlayer_BlitDecodedFrame`, `1030:0428` = `GameTimeProcess_Destroy`, `1030:03c7` = `AnimProcess_RunNoop`, `1048:0d3e` = `Process1048_0000_RunNoop`, `1048:0d43` = `Process1048_0000_Destroy`, `1050:051f` = `SavegameSlot_GetLabelPtr`, `1050:0532` = `SavegameSlot_SetLabel`, `1050:057e` = `File_CloseAndMaybeFree`, `10c0:00b9` = `MapJumpProcess_VtableSlot10AdvanceItemFind`, `10e8:4192` = `AnimPrimitiveProcessSomethingElse_Destroy`, `10f8:0120` = `ItemScript_AppendBytes`, `10f8:0161` = `ItemTypeflagRecord_ResetDefaults`, `1150:2f20` = `AnimPrimitiveProcessFamily_VtableSlot11CallSlot3`, `1188:0057` = `Process1188_0000_RunOnTimerDelta`, `1188:0979` = `Process1188_0000_Destroy`, `11c0:0483` = `WaitProcessFamily_VtableSlot10DispatchByPair`, `11c0:0691` = `WaitProcess_Destroy`, `11c0:02bf` = `AccWaitProcess_VtableSlot10DispatchByAnimation`, `1138:0444` = `SpriteProcess_Destroy`, `12e0:0151` = `ASS_StoreInitCallbackState`, `13c8:03f5` = `MainMenu_Destroy`, `13c8:04ee` = `MainMenu_DrawCornerDecorations`, `13c8:06a4` = `MainMenu_HandleButtonClick`, `13c8:06cd` = `MainMenu_HandleKey`, `13c8:082e` = `MainMenu_ActivateSelection`, `13c8:0ce7` = `MainMenuOptionButtonGump_Create`, `13c8:0dc0` = `MainMenuOptionButtonGump_HandlePointerEvent`, `13c8:0e2d` = `MainMenuOptionButtonGump_SelectPeer`, `13c8:0e94` = `MainMenuOptionButtonGump_Draw`, `13c8:0ece` = `MainMenuOptionsPanel_Create`, `13d0:0000` = `SavegameNameField_MapInputChar`, `13d0:0226` = `SavegameMenu_Destroy`, `13d0:02cb` = `SavegameMenu_HandleKey`, `13d0:03dd` = `SavegameMenu_HandleSlotAction`, `13d0:058c` = `SavegameSlot_DrawCornerDecorations`, `13d0:074e` = `SavegameSlotGump_Create`, `13d0:0841` = `SavegameSlotGump_Destroy`, `13d0:08a8` = `SavegameNameField_HandleKey`, `13d0:0b0a` = `SavegameSlot_HandleClick`, `13d0:0b89` = `SavegameSlot_BeginEditOrActivate`, `13d0:0cd5` = `SavegameNameField_Draw`, `13d0:0e18` = `SavegameSlot_Select`, `11c8:03c9` = `BiosProcess_VtableSlot10DosRealFarCall`, `1108:2259` = `AttackProcess_VtableSlot10DispatchByClip`, `1030:0183` = `AnimProcess_VtableSlot10DispatchByPort`, `1300:0d4e` = `BaseCameraProcess_VtableSlot10SetViewportRect`, `1300:0d76` = `BaseCameraProcess_VtableSlot11FreeBuffer`, `13b8:021a` = `CustomWaitProcess_VtableSlot11ArmAndRun`, `1440:03a0` = `FadeProcess2_VtableSlot10BlendTowardTargetPalette`, `1448:08fd` = `FlicPlayProcess_Destroy`, `1448:3290` = `FlicWaitProcess_Destroy`, `11f8:00a4` = `MusicPlayerProcess_RunNoop`, `11f8:035e` = `MusicPlayerProcess_Destroy`, `11f8:028e` = `Music_RestorePreviousTrackFromStack`, `11f8:02bf` = `Music_LoadStateAndReplayCurrentTrack`, `11f8:0311` = `Music_SaveState`, `12e0:0267` = `AssProcess_Destroy`, `1448:00eb` = `FlicWaitProcess_VtableSlot10TickAndMaybeAdvance`, `11f8:00a9` = `MusicPlayerProcess_VtableSlot10Noop`, `12e0:00ed` = `AssProcess_VtableSlot5ClearCreatedFlag`, `12e0:0105` = `AssProcess_VtableSlot6SetCreatedFlag`, `1020:08cd` = `Process_VtableSlot4Noop`, `1020:08d2` = `Process_VtableSlot8Noop`, `1028:0724` = `Process_VtableSlot9ReturnZero`, `1468:0114` = `MyTimerProcess_VtableSlot10IncrementCounterOnTick`, `11f0:02b9` = `StdIntHandlerProcess_Destroy`, `12f8:0530` = `GumpShared_DestroyNoop`, `12f8:0544` = `KeyboardInputHandler_DestroyNoop`, `12f8:0553` = `GumpShared_VtableSlot10Noop`, `12f8:0578` = `KeyboardInputHandler_VtableSlot10Noop`, `12f8:057d` = `KeyboardInputHandler_VtableSlot11Noop`, `1308:0616` = `ButtonGump_Destroy`, `13c0:04ee` = `KeypadGump_Destroy`, `13c0:0a94` = `KeypadButtonGump_Destroy`, `13e8:3aae` = `HelpGump_Destroy`, `13e8:3ba5` = `HelpGump_RefreshPage`, `13e8:3d53` = `HelpGump_HandleAdvanceAction`, `13e8:3d99` = `HelpGump_HandleNavigationKey`, `13e8:3ec8` = `HelpGump_RunAmbientSfxTick`, `13e8:3fd8` = `RunCreditsProcess_Destroy`, `13f8:01e9` = `QuickSaveLoadExitGump_Destroy`, `13f8:0510` = `Gump13f80383_Destroy`, `13f8:058c` = `Gump13f80383_Draw`, `13f8:05c6` = `Gump13f80383_VtableSlot10Noop`, and `13f8:05cb` = `Gump13f80383_VtableSlot11Noop`. That work is now live in Ghidra, and it also confirms the practical write-path rule for future work: read-only MCP analysis can stay on the live GUI session, while live write-capable scripts can land small verified rename/comment batches when the simpler edit-plan route refuses to commit. + +Latest broad-sweep correction batch: several previously over-specific gump no-op names were generalized after direct table evidence showed they are shared across multiple gump families, not keyboard-only handlers. The live database now carries `12f8:0535 = GumpShared_VtableSlot3Noop`, `12f8:0544 = GumpShared_VtableSlot7Noop`, `12f8:0549 = GumpShared_VtableSlot8Noop`, `12f8:054e = GumpShared_VtableSlot9Noop`, `12f8:0578 = GumpShared_VtableSlot16Noop`, and `12f8:057d = GumpShared_VtableSlot17Noop` from direct `g_helpGumpFnPtr` / `g_gump13f80383FnPtr` slot reuse at `1478:6241` and `1478:6346`. + +Latest broad-sweep UI follow-up: the same UI-heavy lane is now tighter in three more local families without requiring deeper subsystem claims. The live database now carries `12f8:02e4 = GumpShared_DestroyCommon`, `13f8:0237 = QuickSaveLoadExitGump_HandleChildButtonEvent`, `13f8:0299 = QuickSaveLoadExitGump_HandleKey`, `13f8:0349 = QuickSaveLoadExitGump_DrawLabel`, `13f8:0383 = QuickSaveLoadExitGump_Create`, `13c8:2f37 = MainMenuOptionsPanelButtonGump_Create`, `13c8:2fca = MainMenuOptionsPanelButtonGump_DrawLabel`, `13c8:3004 = MainMenuOptionsPanelButtonGump_Select`, `13c8:3030 = MainMenuOptionsPanelButtonGump_Deselect`, `13c8:1759 = MainMenuOptionsMenu_Destroy`, `13c8:17c5 = MainMenuOptionsMenu_Create`, `13c8:1e62 = MainMenuOptionsMenu_GetOptionRect`, `13c8:2975 = MainMenuOptionsMenu_HandleChildButtonEvent`, `13c8:29b3 = MainMenuOptionsMenu_HandleKey`, `13c8:2b16 = MainMenuOptionsMenu_DrawTitle`, and `13c8:2c56 = MainMenuOptionsMenuButtonGump_DrawLabel`. Current best read is that `12f8:02e4` is the shared gump base destroy path used by multiple UI families, the `13f8:` mini-cluster is the quick save/load/exit modal's constructor-plus-local input/draw surface, the `13c8:2f37..3030` cluster is the options-panel-specific button wrapper layered over the generic `1308:` button-gump create path, and the separate `13c8:1759..2c56` lane is now clearly the main options-menu create/destroy/input surface because its teardown path saves the current options back to config before the shared gump cleanup. + +Recent retail debugger-entry follow-up: [docs/retail-debugger-entry-options.md](docs/retail-debugger-entry-options.md) now consolidates the hidden-debugger entry question with the newer live Ghidra evidence instead of leaving it split across the older `-debug` and patch-attempt notes. Current best read is now tighter in three ways: first, fresh data-use recovery still finds reads but no writer for the debugger-state global at `1478:659c/659e`; second, fresh decompiles of `usecode_debugger_open_for_current_unit`, `usecode_debugger_open_modal`, `usecode_debugger_gump_create`, and `usecode_debugger_handle_event` confirm that the debugger UI and event bundle are real but only meaningful after a valid break-state object/gump already exists; and third, the retail `-u` override remains the lowest-risk non-EXE experiment surface but still does not currently show a script-visible way to construct the seg1408 break-state object or write the required global pointer. The resulting priority order is now explicit: prefer a focused No Regret / JP No Remorse bootstrap comparison first, keep `-u` plus a replacement `EUSECODE.FLX` as the least invasive indirect experiment surface second, and treat the current interpreter-callsite-retarget patch family as the smallest structurally defensible retail EXE path only if cross-build comparison fails to reveal a smaller missing bootstrap. + +Recent No Regret debugger follow-up: [docs/regret-hidden-debugger-investigation.md](docs/regret-hidden-debugger-investigation.md) now also records the first forcing-options pass instead of stopping at structural recovery. Current best read is that Regret is now the first build where a practical forced debugger bring-up looks realistically hackable without rebuilding the subsystem: executable patching is the strongest route because Regret already has the bootstrap, the live vtable override, and the interpreter-side auto-open path; live memory forcing is plausible if the debugger object already exists; and usecode remains useful only as a hybrid context-generator after code or memory has already armed the debugger, not yet as a pure launcher. + +Recent JP hidden-debugger follow-up: [docs/jp-remorse-hidden-debugger-investigation.md](docs/jp-remorse-hidden-debugger-investigation.md) now records the first debugger-focused comparison pass on `/ja/CRUSADER.EXE`. Current best read is narrower than the No Regret result but still useful: the JP Win32 build clearly retains broad executable cheat/debug features, but this pass did not recover the classic hidden usecode-debugger UI signature bundle. Live byte searches on the active JP image found known positive-control strings like `JASSICA16`, `Immortality enabled.`, and `Cheats are now active.`, but returned no hits for the debugger-only strings `Goto Line`, `Watch what?`, `Inspect what?`, `Global name`, `Search for`, `FILE NOT FOUND`, `Unable to open this file`, `Nothing to find`, `Not found`, and `Done`. The practical outcome is that JP currently strengthens the `broad cheat/debug support survived in Win32` story, but not the `JP preserved the missing retail debugger bootstrap` theory; No Regret remains the stronger sibling-build anchor for the hidden-debugger unlock problem. + Recent verified batch: [docs/retail-debug-arg.md](docs/retail-debug-arg.md) now records the live NE proof that retail `CRUSADER.EXE` still recognizes and executes a real `-debug` command-line branch. That branch prints `Debugging mode ON.`, sets `g_debugMsgLevel` at `1478:87e0`, and toggles two debug globals at `1478:0845/0859`. The later sink pass also closes the text-output target more tightly: `ProbablyPrintDebugMessage` formats through the static stdio-style table at `1478:6c32..6c81` and writes to the handle-`1` entry at `1478:6c46`, so the non-video side is ordinary DOS `stdout` gated by the debug threshold, plus the already-confirmed AVI timing overlay. Current best read remains `surviving debug-output / instrumentation switch`, not `the missing bootstrap for the hidden seg109/seg1408 usecode debugger`. The same batch also leaves the earlier `-laurie` and `0x659c/659e` debugger-state conclusions intact: `-debug` is a separate switch and is not currently evidenced as constructing the hidden usecode-debugger break-state object. Recent tooling batch: [docs/map-rendering.md](docs/map-rendering.md) now starts a dedicated offline map-rendering lane. `tools/render_crusader_map.py` can load `FIXED.DAT`, expand `GLOB.FLX`, decode the required `SHAPES.FLX` entries with Crusader frame headers, apply `GAMEPAL.PAL`, and write a first-pass PNG, with a `--fixed-dat` override so the same pipeline can be pointed at either game's map file. The current renderer is intentionally limited to fixed-map content and a simple deterministic painter rather than the full Pentagram/ScummVM dependency sorter, and the current workspace caveat is that `STATIC_REGRET` still lacks a copied `FIXED.DAT`, so No Regret rendering needs that file supplied explicitly. @@ -85,6 +97,7 @@ Latest F7 overlay follow-up: new note [docs/f7-overlays.md](docs/f7-overlays.md) | [docs/f7-overlays.md](docs/f7-overlays.md) | Focused note on the three cheat-gated F7 debug overlays: toggle sites, live consumers, recovered geometry math, what each overlay represents, and the current viewer-safe reproduction rules | | [docs/jp-remorse-windows9x-investigation.md](docs/jp-remorse-windows9x-investigation.md) | Focused note on the Japanese `/ja/CRUSADER.EXE` Windows-native claim: PE/Win32 image evidence, Win32 windowing, DirectDraw/DirectSound, registry config under `J1.21`, IME/DBCS clues, and the GetVersion-driven Win9x compatibility branch | | [docs/jp-remorse-cheats-and-launch-params.md](docs/jp-remorse-cheats-and-launch-params.md) | Focused note on surviving JP `/ja/CRUSADER.EXE` cheat/debug and startup-argument lanes: `-laurie`, `JASSICA16`, immortality, the recovered Win32 parser table, the live `-u` usecode override, and the current caution that JP `-warp` is only directly proven in mission-only form | +| [docs/jp-remorse-hidden-debugger-investigation.md](docs/jp-remorse-hidden-debugger-investigation.md) | Focused first pass on whether the JP Win32 build kept the classic hidden usecode debugger: positive-control hits for surviving cheat/debug strings, but no live hits for the debugger-only UI string bundle (`Goto Line`, `Watch what?`, `Inspect what?`, `Global name`, `Search for`, `FILE NOT FOUND`, `Unable to open this file`, `Nothing to find`, `Not found`, `Done`) | | [docs/spanish-cheat-differences.md](docs/spanish-cheat-differences.md) | Focused comparison note for `/es/CRUSADER.EXE` versus the English build's known cheat/debug lanes: `-laurie`, broad cheat gate, gameplay-input gate, low-level keyboard latch, `Ctrl+Q`, Hack Mover, and the current status of the unresolved secret sequence | | [docs/raw-porting-progress.md](docs/raw-porting-progress.md) | seg091 RNG, 0x4588 callback lifecycle batches 1-6, 0007 gameplay helper batches, snap_entity_to_ground, AI sweep, animation/range/command globals, seg043 boundary recovery | | [docs/raw-000e.md](docs/raw-000e.md) | 000e parser helper cluster (record table init/parse/dispatch), 000e RIFF/animation cluster (animation object field map, RIFF format, constructor variants) | @@ -92,9 +105,12 @@ Latest F7 overlay follow-up: new note [docs/f7-overlays.md](docs/f7-overlays.md) | [docs/raw-0008-000c.md](docs/raw-0008-000c.md) | 0008 dispatch helpers (init, pair-sync, flag helpers, word-list, gate-callbacks) and 000c state machine (tick dispatch, flag guards, palette fade, mini-VM, cursor nav) | | [docs/raw-000a-000d.md](docs/raw-000a-000d.md) | 000d proximity/visibility buckets, 000a tracked handles, cache manager, init/shutdown, seg082 allocator, seg137/138 palette helpers, seg004/005 startup, 0x4588 object-role evidence, 000d VM owner/resource loader follow-up | | [docs/far-call-targets.md](docs/far-call-targets.md) | Top-104 most-called far-call targets (Tiers 1-5, ranks 1-104), supporting functions discovered, analysis gaps and seg043 reconciliation | +| [docs/function-knowledge-roadmap.md](docs/function-knowledge-roadmap.md) | Concrete path to broad function coverage: completion criteria, prioritized workstreams, write-path discipline, staged rename batches, and immediate next steps | | [docs/crusader-disasm-reference.md](docs/crusader-disasm-reference.md) | Local auxiliary disassembly corpus at `K:/ghidra/crusader-disasm`: handwritten notes, shape tables, map dumps, opcode lists, intrinsic/function dumps, and the safe reuse rules for porting into `CRUSADER.EXE` | | [docs/ne-hole-filling-priorities.md](docs/ne-hole-filling-priorities.md) | Ranked `CRUSADER.EXE` hole-filling tracker: NE-side unclear lanes, the verified raw-side knowledge that can close them, and the recommended order for old-to-new porting passes | | [docs/retail-debugger-patch-attempts.md](docs/retail-debugger-patch-attempts.md) | Chronological log of retail `CRUSADER.EXE` debugger-unlock patch attempts, byte-level designs, runtime failures, root-cause findings, and the current live candidate | +| [docs/retail-debugger-entry-options.md](docs/retail-debugger-entry-options.md) | Focused retail hidden-debugger entry analysis: fresh live-Ghidra proof that `1478:659c/659e` still lacks a recovered writer, what the seg109 wrappers and gump constructor now prove about real reachability, why `-u` is the best low-risk experiment surface but still not a direct debugger bootstrap, and why No Regret / JP comparison is now the preferred next move | +| [docs/regret-hidden-debugger-investigation.md](docs/regret-hidden-debugger-investigation.md) | Focused live `REGRET.EXE` hidden-debugger comparison: recovered wrapper/gump/dispatcher equivalents, the seg13e0 break-state family, the seg13f0 interpreter-side consumer, the debugger global at `1480:712c/712e`, and the compact bootstrap stub at `1398:0000` that writes that global | | [docs/retail-debug-arg.md](docs/retail-debug-arg.md) | Focused note on the retail `-debug` command-line switch: live parser evidence, exact startup message, surviving globals, segment `1468` instrumentation path, and why it is currently separate from the hidden usecode debugger bootstrap | | [docs/startup-map-patch-file.md](docs/startup-map-patch-file.md) | Focused note on the retail `Using map patch file.` startup line: exact `Init_Everything` print gate, `static\fixed.dat` detection, the later `ItemCache_InitAndLoadFixedDat` archive load, and the current evidence that fixed-map reads prefer the alternate archive when present | | [docs/remorse-class-candidate-inventory.md](docs/remorse-class-candidate-inventory.md) | Evidence-backed inventory of the strongest current Remorse class families, with confidence, ctor/dtor/vtable/layout anchors, and recommended modeling order for later Ghidra class work | diff --git a/crusader_segment_coverage_ledger.csv b/crusader_segment_coverage_ledger.csv index 67db405..0d9a02f 100644 --- a/crusader_segment_coverage_ledger.csv +++ b/crusader_segment_coverage_ledger.csv @@ -30,8 +30,8 @@ "29","code","0x5C400","0x190A","Partial","Area-search collision move and step-aware sweep helper lane","AreaSearch_CollideMove; AreaSearch_SweepShapeBetweenPoints; AreaSearch_SweepItemToPointWithStepUp; AreaSearch_SweepShapeBetweenPointsWithStepUp","Current direct callers are still all movement/collision-side and the remaining gap is the earlier policy layer deciding when those paths instantiate the 0x236 queue or whether any non-collision lane feeds it","plan-mid.md; docs/ne-hole-filling-priorities.md; docs/raw-0008-000c.md" "30","code","0x5E000","0x5071","None","","","","crusader_ne_segments.csv" "31","code","0x64000","0x6EE","Partial","StorageDataProcess queue create/run/release helpers","StorageDataProcess_Create; StorageDataProcess_Run; StorageDataProcess_Release; StorageDataProcess_RunAndTerminateProcs; storage_process_ref_list_create; storage_process_ref_list_append; storage_process_ref_list_terminate_item_matches; storage_process_ref_list_destroy","Still needs caller-side recovery beyond the verified collision producer and any stronger subsystem naming than the local hit/got-hit storage queue","plan-mid.md; docs/ne-hole-filling-priorities.md; docs/raw-0008-000c.md" -"32","code","0x64800","0x56A","None","","","","crusader_ne_segments.csv" -"33","code","0x65000","0x10D7","None","","","","crusader_ne_segments.csv" +"32","code","0x64800","0x56A","Foothold","Item type / typename.dat loader helpers","ItemType_Init; ItemType_LoadTypeflagDat; ItemType_Load_TypenameDat; ItemType_GetTypenameRecordPtrAtIndex; ItemType_FindTypenameRecordIndex; Item_GetShapeFamilyOfShape","The segment is now clearly an item-type helper lane. The remaining gap is not local contract recovery but broader caller-side integration and any later higher-level item-family helpers that still sit outside this small loader-focused window.","plan-mid.md; docs/function-knowledge-roadmap.md" +"33","code","0x65000","0x10D7","Partial","NPC action / stand / pace / surrender / guard / loiter AI processes","NPCActionProcess_Create; NPCActionProcess_RunNoop; NPCActionProcess_Destroy; NPCActionProcess_VtableSlot10Noop; StandProcess_Run; StandProcess_Destroy; PaceProcess_CreateProcess; PaceProcess_Run; PaceProcess_Destroy; SurrenderProcess_CreateProcess; SurrenderProcess_Destroy; SurrenderProcess_Run; GuardProcess_CreateProcess; GuardProcess_Run; GuardProcess_Destroy; LoiterProcess_CreateProcess; LoiterProcess_Run; LoiterProcess_Destroy; LoiterProcess_VtableSlot10DispatchByShapeIfAlive; NPC_DoRandomIdleAnimTwiceIfNotBusy","The live AI-process lane now has run ownership, slot-1 destructor ownership, and the local slot-10 helper split grounded in the database. The remaining uncertainty in this immediate window is mostly higher-level behavior-policy meaning, especially what the slot-10/slot-11 transitions represent semantically beyond the now-named local function objects.","plan-mid.md; docs/function-knowledge-roadmap.md" "34","code","0x66600","0x253A","None","","","","crusader_ne_segments.csv" "35","code","0x69400","0xF67","None","","","","crusader_ne_segments.csv" "36","code","0x6A600","0x69F","None","","","","crusader_ne_segments.csv" @@ -120,13 +120,13 @@ "119","code","0xBE200","0x419","None","","","","crusader_ne_segments.csv" "120","code","0xBE800","0x9AE","None","","","","crusader_ne_segments.csv" "121","code","0xBF400","0xACE","None","","","","crusader_ne_segments.csv" -"122","code","0xC0200","0x3149","None","","","","crusader_ne_segments.csv" -"123","code","0xC3C00","0xE6D","None","","","","crusader_ne_segments.csv" +"122","code","0xC0200","0x3149","Partial","Main menu shell plus options-panel and options-menu helpers","MainMenu_Destroy; MainMenu_DrawCornerDecorations; MainMenu_HandleButtonClick; MainMenu_HandleKey; MainMenu_ActivateSelection; MainMenuOptionsPanel_Create; MainMenuOptionButtonGump_Create; MainMenuOptionButtonGump_HandlePointerEvent; MainMenuOptionButtonGump_SelectPeer; MainMenuOptionButtonGump_Draw; MainMenuOptionsPanelButtonGump_Create; MainMenuOptionsPanelButtonGump_DrawLabel; MainMenuOptionsPanelButtonGump_Select; MainMenuOptionsPanelButtonGump_Deselect; MainMenuOptionsMenu_Create; MainMenuOptionsMenu_Destroy; MainMenuOptionsMenu_GetOptionRect; MainMenuOptionsMenu_HandleChildButtonEvent; MainMenuOptionsMenu_HandleKey; MainMenuOptionsMenu_DrawTitle; MainMenuOptionsMenuButtonGump_DrawLabel","The segment now has a broad structural map for the main-menu shell and two adjacent option-oriented families, but several sibling methods and subordinate dialog/menu roles still need caller-side recovery or stronger local-family placement","plan-mid.md; docs/function-knowledge-roadmap.md; crusader_decompilation_notes.md" +"123","code","0xC3C00","0xE6D","Partial","Savegame UI helper and slot-edit lane","SavegameNameField_MapInputChar; SavegameMenu_Destroy; SavegameMenu_HandleKey; SavegameMenu_HandleSlotAction; SavegameSlot_DrawCornerDecorations; SavegameSlotGump_Create; SavegameSlotGump_Destroy; SavegameNameField_HandleKey; SavegameSlot_HandleClick; SavegameSlot_BeginEditOrActivate; SavegameNameField_Draw; SavegameSlot_Select","The local helper/gump lane is now broadly named; remaining work is higher-level menu semantics rather than anonymous helper cleanup inside this segment","plan-mid.md; docs/function-knowledge-roadmap.md; crusader_decompilation_notes.md" "124","code","0xC4E00","0x3DD","None","","","","crusader_ne_segments.csv" "125","code","0xC5400","0x1A3E","None","","","","crusader_ne_segments.csv" "126","code","0xC7400","0x402A","Partial","Transition-entry wrappers, pre-entry setup/script, and exit control","FUN_000c_7412; transition_preentry_setup_resources; transition_preentry_release_resources; transition_preentry_run_until_complete_or_abort; transition_preentry_step_script; wait_for_vga_vertical_retrace; thunk_callf_0000_ffff_000c_827d; thunk_callf_0000_ffff_000c_82f9; FUN_000c_834a","The seg126 helper family is structurally recovered and now ties into a paired temporary text-renderer lane at 0x8c5c/0x8c60, a shared async break/hold depth at 0x31a2 whose outer-loop exit test is visible at 000c:ca11, and the shared active-dispatch owner at 0x6828 whose +0x40 byte is raised immediately after the DS:0x6341 animation ctor path; remaining open work is the exact UI role of the renderer pair, the unresolved script bytes beyond the now-anchored fade controls, and the separate oversized overlap rooted at 000c:db68","crusader_decompilation_notes.md; plan-mid.md" "127","code","0xCC600","0x8F6","Partial","Palette fade controller and transition-state gate","palette_fade_begin_full_up; palette_fade_begin_full_down; transition_palette_fade_begin; transition_palette_fade_tick; transition_palette_fade_out_step; transition_palette_fade_in_step","Exact higher-level transition states and palette-source owners are still unresolved, but the local fade controller, default fade entry paths, active/direction state at 0x630a/0x630b, and the seg126 script-byte selectors 0x5e -> full-down / 0x26 -> full-up (with 0x2a sharing the same post-fade bookkeeping path) are now clear","crusader_decompilation_notes.md; plan-mid.md" -"128","code","0xCD200","0x5D0","None","","","","crusader_ne_segments.csv" +"128","code","0xCD200","0x5D0","Foothold","Quick save/load/exit modal and adjacent compact gump helpers","QuickSaveLoadExitGump_Destroy; QuickSaveLoadExitGump_Create; QuickSaveLoadExitGump_HandleChildButtonEvent; QuickSaveLoadExitGump_HandleKey; QuickSaveLoadExitGump_DrawLabel; Gump13f80383_Destroy; Gump13f80383_Draw; Gump13f80383_VtableSlot10Noop; Gump13f80383_VtableSlot11Noop","Several sibling methods in the compact gump lane are still anonymous or only structurally understood, so this segment is not yet a full dialog-family closure","plan-mid.md; docs/function-knowledge-roadmap.md; crusader_decompilation_notes.md" "129","code","0xCDA00","0xD77","None","","","","crusader_ne_segments.csv" "130","code","0xCEA00","0x47D","None","","","","crusader_ne_segments.csv" "131","code","0xCF000","0x44D","None","","","","crusader_ne_segments.csv" diff --git a/docs/dosbox-x.debugger.md b/docs/dosbox-x.debugger.md new file mode 100644 index 0000000..1b2054c --- /dev/null +++ b/docs/dosbox-x.debugger.md @@ -0,0 +1,182 @@ +Information about the DOSBox-X Debugger + +Debugger interface +------------------ + +In builds where it is enabled, DOSBox-X supports breaking into the debugger +interface, which is shown on the console. + +A mapper shortcut is provided to break into the debugger on demand. Normally +this shortcut is set to Alt+Pause (Mac: Alt+F12). + +In Windows, DOSBox-X can create a console and show the debugger interface +on it. + +On other systems including Linux and Mac OS X, DOSBox-X must be started +from a terminal in order to enable the debugger. + +The debugger interface should scale and respond to resizing of the +terminal window. + +WARNING: Fitting to the window was added in DOSBox-X. The debugger + interface in DOSBox SVN requires a minimum terminal window + size to function, and may segfault if the terminal is too + small. + +The debugger interface is written against the "ncurses" library. + +The window regions of the debugger interface are: + - Register Overview + - Data view + - Code Overview + - Variable (not shown by default) + - Output + +The register window will show at all times the contents of the CPU +registers and segment registers as well as other important CPU +state. + +Data view allows viewing the contents of memory while debugging. +The location shown is controlled by a segment:offset pair. + +In DOSBox-X, the Data view also permits viewing data as a linear +(pageable) offset and as a physical memory view (outside the +CPU's paging control). + +The code overview/disassembly window shows the contents of a +memory location as disassembled x86 instructions. Normally, this +is set to the instruction pointer, but it can be set anywhere. +Decoding is based on the CPU mode. + +The variable list is used when the debugger is given variables +to debug by. + +The output window allows you to scroll through the last 1000 +or so log messages written from within the codebase by LOG() +or LOG_MSG(). If the window is scrolled to the bottom, new +messages will appear by default. + +The lowest row of the terminal is reserved for a line where +the user can enter debugger commands. An underscore shows +where the cursor is positioned. + +The code and data views have been fixed in DOSBox-X to indicate +when data is not available to view for a specific segment:offset +or linear address. + +If the CPU is in protected mode, and the segment portion refers +to a segment that does not exist, or the offset extends past +the limit of that segment, the code or data view will show +'na' instead of a byte value. + +If 80386 paging is enabled, and the segment:offset or linear +address refers to a page that is not present, then the data +view will show 'pf' to indicate this. + + na = segment does not exist, or offset exceeds segment limit + + pf = segment:offset or linear address is paged out or + not present according to page tables. + +Debugging a program and breaking on start +----------------------------------------- + +DOSBox-X includes a built-in command to launch a program and +break at the entry point. + +DEBUGBOX [command] [options] + +You can also type DEBUGBOX without a parameter to start the +debugger. + +Debugger keyboard shortcuts +--------------------------- + +Tab/Shift+Tab Switch to the next/previous window +F3/F6 Previous command in history +F4/F7 Next command in history +F5 Resume emulation +F8 Toggle printable characters display in data view +F9 Set/clear breakpoint +F10 Single step (over) +F11 Single step (into) +Up arrow Scroll up one line (if applicable) +Down arrow Scroll down one line (if applicable) +Left arrow Move cursor left in command line +Right arrow Move cursor right in command line +Page Up/Fn+Up Scroll up by window height (if applicable) +Page Down/Fn+Down Scroll down by window height (if applicable) +Home/Fn+Left Scroll to top (in Output window) +End/Fn+Right Scroll to bottom (in Output window) +Insert Toggle insert/overwrite mode in command line +Alt+D Set data view to DS:SI +Alt+E Set data view to ES:DI +Alt+X Set data view to DS:DX +Alt+B Set data view to ES:BX +Alt+S Set data view to SS:SP + +Debugger commands +----------------- + +MOVEWINDN Move current window down +MOVEWINDU Move current window up +SHOWWIN Show window (by name) +HIDEWIN Hide window (by name) +MEMDUMP Dump memory to file (MEMDUMP.TXT) +MEMDUMPBIN Dump memory to file (MEMDUMP.BIN) +IV Insert variable +SV Save variables to +LV Load variables from +SR Set register value to +SM [bytes in hex] Set memory at : to byte values given +BP Add breakpoint (real mode) +BPM Add breakpoint (protected mode) +BPLM Add breakpoint (linear/virtual address) +BPINT Add breakpoint on interrupt +BPINT Add breakpoint on interrupt and AH= +BPLIST List breakpoints +BPDEL Delete breakpoint +RUN Resume emulation +RUNWATCH Resume emulation, but show state while running +A20 Show A20 gate state +A20 ON Turn on A20 gate +A20 OFF Turn off A20 gate +PIC Show interrupt controller state +PIC MASKIRQ Mask IRQ at interrupt controller +PIC UNMASKIRQ Unmask IRQ at interrupt controller +PIC ACKIRQ Acknowledge IRQ at interrupt controller +PIC LOWERIRQ Manually lower interrupt signal +PIC RAISEIRQ Manually raise interrupt signal +C Set code view to address +D Set data view to address (segment:offset) +DV Set data view to address (linear/virtual address) +DP Set data view to address (physical) +LOG Log CPU state, for the specified number of instructions, to LOGCPU.TXT +LOGS Log CPU state, short log, to LOGCPU.TXT +LOGL Log CPU state, long log, to LOGCPU.TXT +INTT Trace interrupt +INT Start interrupt +CALLBACKS Show callbacks of interrupts. +SELINFO Show selector information +DOS MCBS Dump DOS kernel MCB chain (conventional memory allocation chain) +DOS KERN Dump DOS kernel memory allocation list +DOS XMS Dump XMS (extended memory) allocation list +DOS EMS Dump EMS (expanded memory) allocation list +BIOS MEM Dump BIOS allocation and layout list +GDT Dump GDT (global descriptor table) +LDT Dump LDT (local descriptor table) +IDT Dump IDT (interrupt descriptor table) +PAGING Dump page table information +CPU Dump additional CPU information +VGA cmd VGA related debugging commands. +PC98 cmd PC98 related debugging commands. +EMU MEM/MACHINE Show emulator memory or machine info. +INTVEC Dump interrupt vector table to +INTHAND Set code view to start of interrupt handler +EXTEND Toggle additional information +TIMERIRQ Start timer IRQ +TIME