mbbsemu / MBBSEmu

The MajorBBS Emulation Project is an Open Source, Cross-Platform emulator for easily running The MajorBBS & Worldgroup Modules
https://www.mbbsemu.com
MIT License
126 stars 14 forks source link

[WDGBSTAL] The Bathroom Stall - Unknown Exported Function Ordinal in MAJORBBS: 69:ALLDGS #511

Open ftoledo opened 2 years ago

ftoledo commented 2 years ago

Module Information

Describe the bug Sorry i will mix two bugs here i think that these are related:

First, enter the "Male" or Female room, the module hang, Maybe the module is not receiving the sex value of the user

2021-10-31 17:45:37.5067 Info MBBSEmu.HostProcess.MbbsHost.CallModuleRoutine Calling lonrou on module WDGBSTAL for channel 0
2021-10-31 17:45:37.5067 Warn MBBSEmu.HostProcess.ExportedModules.Majorbbs.strcpy Source (0004:020F) is NULL

To Reproduce Steps to reproduce the behavior:

  1. Enter the game
  2. Hit 'M' or 'F'
  3. The input hang

Then if you hit 'U' for Unisex room, the game continue:

  1. hit C (Change stalls) at Unisex menu
  2. put any value bettwen 1-5 and then enter
  3. mbbemu will crash
2021-10-31 17:32:49.7394 Error MBBSEmu.HostProcess.ExportedModules.Majorbbs.Invoke Unknown Exported Function Ordinal in MAJORBBS: 69:ALLDGS
Unhandled exception. System.ArgumentOutOfRangeException: Specified argument was out of the range of valid values. (Parameter 'Unknown Exported Function Ordinal in MAJORBBS: 69:ALLDGS')
   at MBBSEmu.HostProcess.ExportedModules.Majorbbs.Invoke(UInt16 ordinal, Boolean offsetsOnly)
   at MBBSEmu.HostProcess.ExecutionUnits.ExecutionUnit.ExternalFunctionDelegate(UInt16 ordinal, UInt16 functionOrdinal)
   at MBBSEmu.CPU.CpuCore.Op_Call()
   at MBBSEmu.CPU.CpuCore.Tick()
   at MBBSEmu.HostProcess.ExecutionUnits.ExecutionUnit.Execute(FarPtr entryPoint, UInt16 channelNumber, Boolean simulateCallFar, Boolean bypassState, Queue`1 initialStackValues, UInt16 initialStackPointer)
   at MBBSEmu.Module.MbbsModule.Execute(FarPtr entryPoint, UInt16 channelNumber, Boolean simulateCallFar, Boolean bypassSetState, Queue`1 initialStackValues, UInt16 initialStackPointer)
   at MBBSEmu.HostProcess.MbbsHost.Run(String moduleName, FarPtr routine, UInt16 channelNumber, Boolean simulateCallFar, Queue`1 initialStackValues)
   at MBBSEmu.HostProcess.MbbsHost.WorkerThread()
   at System.Threading.ThreadHelper.ThreadStart_Context(Object state)
   at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state)
--- End of stack trace from previous location ---
   at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state)
   at System.Threading.ThreadHelper.ThreadStart()
Abortado

Screenshots: imagen

imagen

ftoledo commented 2 years ago

wdgbs21i.zip