diff --git a/settings.gradle.kts b/settings.gradle.kts index f3e4c061..3cda07a1 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -18,11 +18,13 @@ include( "protocol", "patch", "gui", + "transcriber", ) includeSubprojects(":protocol") includeSubprojects(":patch") includeSubprojects(":gui") +includeSubprojects(":transcriber") fun includeSubprojects(projectName: String) { val projectPath = project(projectName).projectDir.toPath() diff --git a/transcriber/build.gradle.kts b/transcriber/build.gradle.kts new file mode 100644 index 00000000..e69de29b diff --git a/transcriber/transcriber-223/build.gradle.kts b/transcriber/transcriber-223/build.gradle.kts new file mode 100644 index 00000000..e12b57ab --- /dev/null +++ b/transcriber/transcriber-223/build.gradle.kts @@ -0,0 +1,3 @@ +dependencies { + implementation(projects.protocol.osrs223) +} diff --git a/transcriber/transcriber-223/src/main/kotlin/net/rsprox/transcriber/ClientPacketTranscriber.kt b/transcriber/transcriber-223/src/main/kotlin/net/rsprox/transcriber/ClientPacketTranscriber.kt new file mode 100644 index 00000000..3d7d41ee --- /dev/null +++ b/transcriber/transcriber-223/src/main/kotlin/net/rsprox/transcriber/ClientPacketTranscriber.kt @@ -0,0 +1,196 @@ +package net.rsprox.transcriber + +import net.rsprox.protocol.game.incoming.model.buttons.If1Button +import net.rsprox.protocol.game.incoming.model.buttons.If3Button +import net.rsprox.protocol.game.incoming.model.buttons.IfButtonD +import net.rsprox.protocol.game.incoming.model.buttons.IfButtonT +import net.rsprox.protocol.game.incoming.model.clan.AffinedClanSettingsAddBannedFromChannel +import net.rsprox.protocol.game.incoming.model.clan.AffinedClanSettingsSetMutedFromChannel +import net.rsprox.protocol.game.incoming.model.clan.ClanChannelFullRequest +import net.rsprox.protocol.game.incoming.model.clan.ClanChannelKickUser +import net.rsprox.protocol.game.incoming.model.clan.ClanSettingsFullRequest +import net.rsprox.protocol.game.incoming.model.events.EventAppletFocus +import net.rsprox.protocol.game.incoming.model.events.EventCameraPosition +import net.rsprox.protocol.game.incoming.model.events.EventKeyboard +import net.rsprox.protocol.game.incoming.model.events.EventMouseClick +import net.rsprox.protocol.game.incoming.model.events.EventMouseMove +import net.rsprox.protocol.game.incoming.model.events.EventMouseScroll +import net.rsprox.protocol.game.incoming.model.events.EventNativeMouseClick +import net.rsprox.protocol.game.incoming.model.events.EventNativeMouseMove +import net.rsprox.protocol.game.incoming.model.friendchat.FriendChatJoinLeave +import net.rsprox.protocol.game.incoming.model.friendchat.FriendChatKick +import net.rsprox.protocol.game.incoming.model.friendchat.FriendChatSetRank +import net.rsprox.protocol.game.incoming.model.locs.OpLoc +import net.rsprox.protocol.game.incoming.model.locs.OpLoc6 +import net.rsprox.protocol.game.incoming.model.locs.OpLocT +import net.rsprox.protocol.game.incoming.model.messaging.MessagePublic +import net.rsprox.protocol.game.incoming.model.misc.client.DetectModifiedClient +import net.rsprox.protocol.game.incoming.model.misc.client.Idle +import net.rsprox.protocol.game.incoming.model.misc.client.MapBuildComplete +import net.rsprox.protocol.game.incoming.model.misc.client.MembershipPromotionEligibility +import net.rsprox.protocol.game.incoming.model.misc.client.NoTimeout +import net.rsprox.protocol.game.incoming.model.misc.client.ReflectionCheckReply +import net.rsprox.protocol.game.incoming.model.misc.client.SendPingReply +import net.rsprox.protocol.game.incoming.model.misc.client.SoundJingleEnd +import net.rsprox.protocol.game.incoming.model.misc.client.Timings +import net.rsprox.protocol.game.incoming.model.misc.client.WindowStatus +import net.rsprox.protocol.game.incoming.model.misc.user.BugReport +import net.rsprox.protocol.game.incoming.model.misc.user.ClickWorldMap +import net.rsprox.protocol.game.incoming.model.misc.user.ClientCheat +import net.rsprox.protocol.game.incoming.model.misc.user.CloseModal +import net.rsprox.protocol.game.incoming.model.misc.user.HiscoreRequest +import net.rsprox.protocol.game.incoming.model.misc.user.IfCrmViewClick +import net.rsprox.protocol.game.incoming.model.misc.user.MoveGameClick +import net.rsprox.protocol.game.incoming.model.misc.user.OculusLeave +import net.rsprox.protocol.game.incoming.model.misc.user.SendSnapshot +import net.rsprox.protocol.game.incoming.model.misc.user.SetChatFilterSettings +import net.rsprox.protocol.game.incoming.model.misc.user.Teleport +import net.rsprox.protocol.game.incoming.model.misc.user.UpdatePlayerModel +import net.rsprox.protocol.game.incoming.model.npcs.OpNpc +import net.rsprox.protocol.game.incoming.model.npcs.OpNpc6 +import net.rsprox.protocol.game.incoming.model.npcs.OpNpcT +import net.rsprox.protocol.game.incoming.model.objs.OpObj +import net.rsprox.protocol.game.incoming.model.objs.OpObj6 +import net.rsprox.protocol.game.incoming.model.objs.OpObjT +import net.rsprox.protocol.game.incoming.model.players.OpPlayer +import net.rsprox.protocol.game.incoming.model.players.OpPlayerT +import net.rsprox.protocol.game.incoming.model.resumed.ResumePCountDialog +import net.rsprox.protocol.game.incoming.model.resumed.ResumePNameDialog +import net.rsprox.protocol.game.incoming.model.resumed.ResumePObjDialog +import net.rsprox.protocol.game.incoming.model.resumed.ResumePStringDialog +import net.rsprox.protocol.game.incoming.model.resumed.ResumePauseButton +import net.rsprox.protocol.game.incoming.model.social.FriendListAdd +import net.rsprox.protocol.game.incoming.model.social.FriendListDel +import net.rsprox.protocol.game.incoming.model.social.IgnoreListAdd +import net.rsprox.protocol.game.incoming.model.social.IgnoreListDel +import net.rsprox.protocol.game.outgoing.model.social.MessagePrivate + +public interface ClientPacketTranscriber { + public fun if1Button(message: If1Button) + + public fun if3Button(message: If3Button) + + public fun ifButtonD(message: IfButtonD) + + public fun ifButtonT(message: IfButtonT) + + public fun affinedClanSettingsAddBannedFromChannel(message: AffinedClanSettingsAddBannedFromChannel) + + public fun affinedClanSettingsSetMutedFromChannel(message: AffinedClanSettingsSetMutedFromChannel) + + public fun clanChannelFullRequest(message: ClanChannelFullRequest) + + public fun clanChannelKickUser(message: ClanChannelKickUser) + + public fun clanSettingsFullRequest(message: ClanSettingsFullRequest) + + public fun eventAppletFocus(message: EventAppletFocus) + + public fun eventCameraPosition(message: EventCameraPosition) + + public fun eventKeyboard(message: EventKeyboard) + + public fun eventMouseClick(message: EventMouseClick) + + public fun eventMouseMove(message: EventMouseMove) + + public fun eventMouseScroll(message: EventMouseScroll) + + public fun eventNativeMouseClick(message: EventNativeMouseClick) + + public fun eventNativeMouseMove(message: EventNativeMouseMove) + + public fun friendChatJoinLeave(message: FriendChatJoinLeave) + + public fun friendChatKick(message: FriendChatKick) + + public fun friendChatSetRank(message: FriendChatSetRank) + + public fun opLoc(message: OpLoc) + + public fun opLoc6(message: OpLoc6) + + public fun opLocT(message: OpLocT) + + public fun messagePrivateClient(message: MessagePrivate) + + public fun messagePublic(message: MessagePublic) + + public fun detectModifiedClient(message: DetectModifiedClient) + + public fun idle(message: Idle) + + public fun mapBuildComplete(message: MapBuildComplete) + + public fun membershipPromotionEligibility(message: MembershipPromotionEligibility) + + public fun noTimeout(message: NoTimeout) + + public fun reflectionCheckReply(message: ReflectionCheckReply) + + public fun sendPingReply(message: SendPingReply) + + public fun soundJingleEnd(message: SoundJingleEnd) + + public fun timings(message: Timings) + + public fun windowStatus(message: WindowStatus) + + public fun bugReport(message: BugReport) + + public fun clickWorldMap(message: ClickWorldMap) + + public fun clientCheat(message: ClientCheat) + + public fun closeModal(message: CloseModal) + + public fun hiscoreRequest(message: HiscoreRequest) + + public fun ifCrmViewClick(message: IfCrmViewClick) + + public fun moveGameClick(message: MoveGameClick) + + public fun oculusLeave(message: OculusLeave) + + public fun sendSnapshot(message: SendSnapshot) + + public fun setChatFilterSettings(message: SetChatFilterSettings) + + public fun teleport(message: Teleport) + + public fun updatePlayerModel(message: UpdatePlayerModel) + + public fun opNpc(message: OpNpc) + + public fun opNpc6(message: OpNpc6) + + public fun opNpcT(message: OpNpcT) + + public fun opObj(message: OpObj) + + public fun opObj6(message: OpObj6) + + public fun opObjT(message: OpObjT) + + public fun opPlayer(message: OpPlayer) + + public fun opPlayerT(message: OpPlayerT) + + public fun resumePauseButton(message: ResumePauseButton) + + public fun resumePCountDialog(message: ResumePCountDialog) + + public fun resumePNameDialog(message: ResumePNameDialog) + + public fun resumePObjDialog(message: ResumePObjDialog) + + public fun resumePStringDialog(message: ResumePStringDialog) + + public fun friendListAdd(message: FriendListAdd) + + public fun friendListDel(message: FriendListDel) + + public fun ignoreListAdd(message: IgnoreListAdd) + + public fun ignoreListDel(message: IgnoreListDel) +} diff --git a/transcriber/transcriber-223/src/main/kotlin/net/rsprox/transcriber/ServerPacketTranscriber.kt b/transcriber/transcriber-223/src/main/kotlin/net/rsprox/transcriber/ServerPacketTranscriber.kt new file mode 100644 index 00000000..157a1ce3 --- /dev/null +++ b/transcriber/transcriber-223/src/main/kotlin/net/rsprox/transcriber/ServerPacketTranscriber.kt @@ -0,0 +1,403 @@ +package net.rsprox.transcriber + +import net.rsprox.protocol.game.outgoing.model.camera.CamLookAt +import net.rsprox.protocol.game.outgoing.model.camera.CamLookAtEasedCoord +import net.rsprox.protocol.game.outgoing.model.camera.CamMode +import net.rsprox.protocol.game.outgoing.model.camera.CamMoveTo +import net.rsprox.protocol.game.outgoing.model.camera.CamMoveToArc +import net.rsprox.protocol.game.outgoing.model.camera.CamMoveToCycles +import net.rsprox.protocol.game.outgoing.model.camera.CamReset +import net.rsprox.protocol.game.outgoing.model.camera.CamRotateBy +import net.rsprox.protocol.game.outgoing.model.camera.CamRotateTo +import net.rsprox.protocol.game.outgoing.model.camera.CamShake +import net.rsprox.protocol.game.outgoing.model.camera.CamSmoothReset +import net.rsprox.protocol.game.outgoing.model.camera.CamTarget +import net.rsprox.protocol.game.outgoing.model.camera.CamTargetOld +import net.rsprox.protocol.game.outgoing.model.camera.OculusSync +import net.rsprox.protocol.game.outgoing.model.clan.ClanChannelDelta +import net.rsprox.protocol.game.outgoing.model.clan.ClanChannelFull +import net.rsprox.protocol.game.outgoing.model.clan.ClanSettingsDelta +import net.rsprox.protocol.game.outgoing.model.clan.ClanSettingsFull +import net.rsprox.protocol.game.outgoing.model.clan.MessageClanChannel +import net.rsprox.protocol.game.outgoing.model.clan.MessageClanChannelSystem +import net.rsprox.protocol.game.outgoing.model.clan.VarClan +import net.rsprox.protocol.game.outgoing.model.clan.VarClanDisable +import net.rsprox.protocol.game.outgoing.model.clan.VarClanEnable +import net.rsprox.protocol.game.outgoing.model.friendchat.MessageFriendChannel +import net.rsprox.protocol.game.outgoing.model.friendchat.UpdateFriendChatChannelFullV1 +import net.rsprox.protocol.game.outgoing.model.friendchat.UpdateFriendChatChannelFullV2 +import net.rsprox.protocol.game.outgoing.model.friendchat.UpdateFriendChatChannelSingleUser +import net.rsprox.protocol.game.outgoing.model.info.npcinfo.NpcInfo +import net.rsprox.protocol.game.outgoing.model.info.npcinfo.SetNpcUpdateOrigin +import net.rsprox.protocol.game.outgoing.model.info.playerinfo.PlayerInfo +import net.rsprox.protocol.game.outgoing.model.info.worldentityinfo.WorldEntityInfo +import net.rsprox.protocol.game.outgoing.model.interfaces.IfClearInv +import net.rsprox.protocol.game.outgoing.model.interfaces.IfCloseSub +import net.rsprox.protocol.game.outgoing.model.interfaces.IfMoveSub +import net.rsprox.protocol.game.outgoing.model.interfaces.IfOpenSub +import net.rsprox.protocol.game.outgoing.model.interfaces.IfOpenTop +import net.rsprox.protocol.game.outgoing.model.interfaces.IfResync +import net.rsprox.protocol.game.outgoing.model.interfaces.IfSetAngle +import net.rsprox.protocol.game.outgoing.model.interfaces.IfSetAnim +import net.rsprox.protocol.game.outgoing.model.interfaces.IfSetColour +import net.rsprox.protocol.game.outgoing.model.interfaces.IfSetEvents +import net.rsprox.protocol.game.outgoing.model.interfaces.IfSetHide +import net.rsprox.protocol.game.outgoing.model.interfaces.IfSetModel +import net.rsprox.protocol.game.outgoing.model.interfaces.IfSetNpcHead +import net.rsprox.protocol.game.outgoing.model.interfaces.IfSetNpcHeadActive +import net.rsprox.protocol.game.outgoing.model.interfaces.IfSetObject +import net.rsprox.protocol.game.outgoing.model.interfaces.IfSetPlayerHead +import net.rsprox.protocol.game.outgoing.model.interfaces.IfSetPlayerModelBaseColour +import net.rsprox.protocol.game.outgoing.model.interfaces.IfSetPlayerModelBodyType +import net.rsprox.protocol.game.outgoing.model.interfaces.IfSetPlayerModelObj +import net.rsprox.protocol.game.outgoing.model.interfaces.IfSetPlayerModelSelf +import net.rsprox.protocol.game.outgoing.model.interfaces.IfSetPosition +import net.rsprox.protocol.game.outgoing.model.interfaces.IfSetRotateSpeed +import net.rsprox.protocol.game.outgoing.model.interfaces.IfSetScrollPos +import net.rsprox.protocol.game.outgoing.model.interfaces.IfSetText +import net.rsprox.protocol.game.outgoing.model.inv.UpdateInvFull +import net.rsprox.protocol.game.outgoing.model.inv.UpdateInvPartial +import net.rsprox.protocol.game.outgoing.model.inv.UpdateInvStopTransmit +import net.rsprox.protocol.game.outgoing.model.logout.Logout +import net.rsprox.protocol.game.outgoing.model.logout.LogoutTransfer +import net.rsprox.protocol.game.outgoing.model.logout.LogoutWithReason +import net.rsprox.protocol.game.outgoing.model.map.RebuildLogin +import net.rsprox.protocol.game.outgoing.model.map.RebuildNormal +import net.rsprox.protocol.game.outgoing.model.map.RebuildRegion +import net.rsprox.protocol.game.outgoing.model.map.RebuildWorldEntity +import net.rsprox.protocol.game.outgoing.model.misc.client.HideLocOps +import net.rsprox.protocol.game.outgoing.model.misc.client.HideNpcOps +import net.rsprox.protocol.game.outgoing.model.misc.client.HidePlayerOps +import net.rsprox.protocol.game.outgoing.model.misc.client.HintArrow +import net.rsprox.protocol.game.outgoing.model.misc.client.HiscoreReply +import net.rsprox.protocol.game.outgoing.model.misc.client.MinimapToggle +import net.rsprox.protocol.game.outgoing.model.misc.client.ReflectionChecker +import net.rsprox.protocol.game.outgoing.model.misc.client.ResetAnims +import net.rsprox.protocol.game.outgoing.model.misc.client.SendPing +import net.rsprox.protocol.game.outgoing.model.misc.client.ServerTickEnd +import net.rsprox.protocol.game.outgoing.model.misc.client.SetHeatmapEnabled +import net.rsprox.protocol.game.outgoing.model.misc.client.SiteSettings +import net.rsprox.protocol.game.outgoing.model.misc.client.UpdateRebootTimer +import net.rsprox.protocol.game.outgoing.model.misc.client.UpdateUid192 +import net.rsprox.protocol.game.outgoing.model.misc.client.UrlOpen +import net.rsprox.protocol.game.outgoing.model.misc.player.ChatFilterSettings +import net.rsprox.protocol.game.outgoing.model.misc.player.ChatFilterSettingsPrivateChat +import net.rsprox.protocol.game.outgoing.model.misc.player.MessageGame +import net.rsprox.protocol.game.outgoing.model.misc.player.RunClientScript +import net.rsprox.protocol.game.outgoing.model.misc.player.SetMapFlag +import net.rsprox.protocol.game.outgoing.model.misc.player.SetPlayerOp +import net.rsprox.protocol.game.outgoing.model.misc.player.TriggerOnDialogAbort +import net.rsprox.protocol.game.outgoing.model.misc.player.UpdateRunEnergy +import net.rsprox.protocol.game.outgoing.model.misc.player.UpdateRunWeight +import net.rsprox.protocol.game.outgoing.model.misc.player.UpdateStat +import net.rsprox.protocol.game.outgoing.model.misc.player.UpdateStatOld +import net.rsprox.protocol.game.outgoing.model.misc.player.UpdateStockMarketSlot +import net.rsprox.protocol.game.outgoing.model.misc.player.UpdateTradingPost +import net.rsprox.protocol.game.outgoing.model.social.FriendListLoaded +import net.rsprox.protocol.game.outgoing.model.social.MessagePrivate +import net.rsprox.protocol.game.outgoing.model.social.MessagePrivateEcho +import net.rsprox.protocol.game.outgoing.model.social.UpdateFriendList +import net.rsprox.protocol.game.outgoing.model.social.UpdateIgnoreList +import net.rsprox.protocol.game.outgoing.model.sound.MidiJingle +import net.rsprox.protocol.game.outgoing.model.sound.MidiSong +import net.rsprox.protocol.game.outgoing.model.sound.MidiSongOld +import net.rsprox.protocol.game.outgoing.model.sound.MidiSongStop +import net.rsprox.protocol.game.outgoing.model.sound.MidiSongWithSecondary +import net.rsprox.protocol.game.outgoing.model.sound.MidiSwap +import net.rsprox.protocol.game.outgoing.model.sound.SynthSound +import net.rsprox.protocol.game.outgoing.model.specific.LocAnimSpecific +import net.rsprox.protocol.game.outgoing.model.specific.MapAnimSpecific +import net.rsprox.protocol.game.outgoing.model.specific.NpcAnimSpecific +import net.rsprox.protocol.game.outgoing.model.specific.NpcHeadIconSpecific +import net.rsprox.protocol.game.outgoing.model.specific.NpcSpotAnimSpecific +import net.rsprox.protocol.game.outgoing.model.specific.PlayerAnimSpecific +import net.rsprox.protocol.game.outgoing.model.specific.PlayerSpotAnimSpecific +import net.rsprox.protocol.game.outgoing.model.specific.ProjAnimSpecific +import net.rsprox.protocol.game.outgoing.model.varp.VarpLarge +import net.rsprox.protocol.game.outgoing.model.varp.VarpReset +import net.rsprox.protocol.game.outgoing.model.varp.VarpSmall +import net.rsprox.protocol.game.outgoing.model.varp.VarpSync +import net.rsprox.protocol.game.outgoing.model.worldentity.ClearEntities +import net.rsprox.protocol.game.outgoing.model.worldentity.SetActiveWorld +import net.rsprox.protocol.game.outgoing.model.zone.header.UpdateZoneFullFollows +import net.rsprox.protocol.game.outgoing.model.zone.header.UpdateZonePartialEnclosed +import net.rsprox.protocol.game.outgoing.model.zone.header.UpdateZonePartialFollows +import net.rsprox.protocol.game.outgoing.model.zone.payload.LocAddChange +import net.rsprox.protocol.game.outgoing.model.zone.payload.LocAnim +import net.rsprox.protocol.game.outgoing.model.zone.payload.LocDel +import net.rsprox.protocol.game.outgoing.model.zone.payload.LocMerge +import net.rsprox.protocol.game.outgoing.model.zone.payload.MapAnim +import net.rsprox.protocol.game.outgoing.model.zone.payload.MapProjAnim +import net.rsprox.protocol.game.outgoing.model.zone.payload.ObjAdd +import net.rsprox.protocol.game.outgoing.model.zone.payload.ObjCount +import net.rsprox.protocol.game.outgoing.model.zone.payload.ObjDel +import net.rsprox.protocol.game.outgoing.model.zone.payload.ObjOpFilter +import net.rsprox.protocol.game.outgoing.model.zone.payload.SoundArea + +public interface ServerPacketTranscriber { + public fun camLookAt(message: CamLookAt) + + public fun camLookAtEasedCoord(message: CamLookAtEasedCoord) + + public fun camMode(message: CamMode) + + public fun camMoveTo(message: CamMoveTo) + + public fun camMoveToArc(message: CamMoveToArc) + + public fun camMoveToCycles(message: CamMoveToCycles) + + public fun camReset(message: CamReset) + + public fun camRotateBy(message: CamRotateBy) + + public fun camRotateTo(message: CamRotateTo) + + public fun camShake(message: CamShake) + + public fun camSmoothReset(message: CamSmoothReset) + + public fun camTarget(message: CamTarget) + + public fun camTargetOld(message: CamTargetOld) + + public fun oculusSync(message: OculusSync) + + public fun clanChannelDelta(message: ClanChannelDelta) + + public fun clanChannelFull(message: ClanChannelFull) + + public fun clanSettingsDelta(message: ClanSettingsDelta) + + public fun clanSettingsFull(message: ClanSettingsFull) + + public fun messageClanChannel(message: MessageClanChannel) + + public fun messageClanChannelSystem(message: MessageClanChannelSystem) + + public fun varClan(message: VarClan) + + public fun varClanDisable(message: VarClanDisable) + + public fun varClanEnable(message: VarClanEnable) + + public fun messageFriendChannel(message: MessageFriendChannel) + + public fun updateFriendChatChannelFullV1(message: UpdateFriendChatChannelFullV1) + + public fun updateFriendChatChannelFullV2(message: UpdateFriendChatChannelFullV2) + + public fun updateFriendChatChannelSingleUser(message: UpdateFriendChatChannelSingleUser) + + public fun npcInfo(message: NpcInfo) + + public fun setNpcUpdateOrigin(message: SetNpcUpdateOrigin) + + public fun playerInfo(message: PlayerInfo) + + public fun worldEntityInfo(message: WorldEntityInfo) + + public fun ifClearInv(message: IfClearInv) + + public fun ifCloseSub(message: IfCloseSub) + + public fun ifMoveSub(message: IfMoveSub) + + public fun ifOpenSub(message: IfOpenSub) + + public fun ifOpenTop(message: IfOpenTop) + + public fun ifResync(message: IfResync) + + public fun ifSetAngle(message: IfSetAngle) + + public fun ifSetAnim(message: IfSetAnim) + + public fun ifSetColour(message: IfSetColour) + + public fun ifSetEvents(message: IfSetEvents) + + public fun ifSetHide(message: IfSetHide) + + public fun ifSetModel(message: IfSetModel) + + public fun ifSetNpcHead(message: IfSetNpcHead) + + public fun ifSetNpcHeadActive(message: IfSetNpcHeadActive) + + public fun ifSetObject(message: IfSetObject) + + public fun ifSetPlayerHead(message: IfSetPlayerHead) + + public fun ifSetPlayerModelBaseColour(message: IfSetPlayerModelBaseColour) + + public fun ifSetPlayerModelBodyType(message: IfSetPlayerModelBodyType) + + public fun ifSetPlayerModelObj(message: IfSetPlayerModelObj) + + public fun ifSetPlayerModelSelf(message: IfSetPlayerModelSelf) + + public fun ifSetPosition(message: IfSetPosition) + + public fun ifSetRotateSpeed(message: IfSetRotateSpeed) + + public fun ifSetScrollPos(message: IfSetScrollPos) + + public fun ifSetText(message: IfSetText) + + public fun updateInvFull(message: UpdateInvFull) + + public fun updateInvPartial(message: UpdateInvPartial) + + public fun updateInvStopTransmit(message: UpdateInvStopTransmit) + + public fun logout(message: Logout) + + public fun logoutTransfer(message: LogoutTransfer) + + public fun logoutWithReason(message: LogoutWithReason) + + public fun rebuildLogin(message: RebuildLogin) + + public fun rebuildNormal(message: RebuildNormal) + + public fun rebuildRegion(message: RebuildRegion) + + public fun rebuildWorldEntity(message: RebuildWorldEntity) + + public fun hideLocOps(message: HideLocOps) + + public fun hideNpcOps(message: HideNpcOps) + + public fun hidePlayerOps(message: HidePlayerOps) + + public fun hintArrow(message: HintArrow) + + public fun hiscoreReply(message: HiscoreReply) + + public fun minimapToggle(message: MinimapToggle) + + public fun reflectionChecker(message: ReflectionChecker) + + public fun resetAnims(message: ResetAnims) + + public fun sendPing(message: SendPing) + + public fun serverTickEnd(message: ServerTickEnd) + + public fun setHeatmapEnabled(message: SetHeatmapEnabled) + + public fun siteSettings(message: SiteSettings) + + public fun updateRebootTimer(message: UpdateRebootTimer) + + public fun updateUid192(message: UpdateUid192) + + public fun urlOpen(message: UrlOpen) + + public fun chatFilterSettings(message: ChatFilterSettings) + + public fun chatFilterSettingsPrivateChat(message: ChatFilterSettingsPrivateChat) + + public fun messageGame(message: MessageGame) + + public fun runClientScript(message: RunClientScript) + + public fun setMapFlag(message: SetMapFlag) + + public fun setPlayerOp(message: SetPlayerOp) + + public fun triggerOnDialogAbort(message: TriggerOnDialogAbort) + + public fun updateRunEnergy(message: UpdateRunEnergy) + + public fun updateRunWeight(message: UpdateRunWeight) + + public fun updateStat(message: UpdateStat) + + public fun updateStatOld(message: UpdateStatOld) + + public fun updateStockMarketSlot(message: UpdateStockMarketSlot) + + public fun updateTradingPost(message: UpdateTradingPost) + + public fun friendListLoaded(message: FriendListLoaded) + + public fun messagePrivate(message: MessagePrivate) + + public fun messagePrivateEcho(message: MessagePrivateEcho) + + public fun updateFriendList(message: UpdateFriendList) + + public fun updateIgnoreList(message: UpdateIgnoreList) + + public fun midiJingle(message: MidiJingle) + + public fun midiSong(message: MidiSong) + + public fun midiSongOld(message: MidiSongOld) + + public fun midiSongStop(message: MidiSongStop) + + public fun midiSongWithSecondary(message: MidiSongWithSecondary) + + public fun midiSwap(message: MidiSwap) + + public fun synthSound(message: SynthSound) + + public fun locAnimSpecific(message: LocAnimSpecific) + + public fun mapAnimSpecific(message: MapAnimSpecific) + + public fun npcAnimSpecific(message: NpcAnimSpecific) + + public fun npcHeadIconSpecific(message: NpcHeadIconSpecific) + + public fun npcSpotAnimSpecific(message: NpcSpotAnimSpecific) + + public fun playerAnimSpecific(message: PlayerAnimSpecific) + + public fun playerSpotAnimSpecific(message: PlayerSpotAnimSpecific) + + public fun projAnimSpecific(message: ProjAnimSpecific) + + public fun varpLarge(message: VarpLarge) + + public fun varpReset(message: VarpReset) + + public fun varpSmall(message: VarpSmall) + + public fun varpSync(message: VarpSync) + + public fun clearEntities(message: ClearEntities) + + public fun setActiveWorld(message: SetActiveWorld) + + public fun updateZoneFullFollows(message: UpdateZoneFullFollows) + + public fun updateZonePartialEnclosed(message: UpdateZonePartialEnclosed) + + public fun updateZonePartialFollows(message: UpdateZonePartialFollows) + + public fun locAddChange(message: LocAddChange) + + public fun locAnim(message: LocAnim) + + public fun locDel(message: LocDel) + + public fun locMerge(message: LocMerge) + + public fun mapAnim(message: MapAnim) + + public fun mapProjAnim(message: MapProjAnim) + + public fun objAdd(message: ObjAdd) + + public fun objCount(message: ObjCount) + + public fun objDel(message: ObjDel) + + public fun objOpFilter(message: ObjOpFilter) + + public fun soundArea(message: SoundArea) +} diff --git a/transcriber/transcriber-223/src/main/kotlin/net/rsprox/transcriber/Transcriber.kt b/transcriber/transcriber-223/src/main/kotlin/net/rsprox/transcriber/Transcriber.kt new file mode 100644 index 00000000..62393b63 --- /dev/null +++ b/transcriber/transcriber-223/src/main/kotlin/net/rsprox/transcriber/Transcriber.kt @@ -0,0 +1,11 @@ +package net.rsprox.transcriber + +public interface Transcriber : + ClientPacketTranscriber, + ServerPacketTranscriber { + public fun format( + cycle: Int, + name: String, + properties: List, + ): String +}