News:

Herr Otto Partz says you're all nothing but pipsqueaks!

Main Menu

Bits of the restunts project

Started by Daniel3D, May 25, 2021, 11:20:54 AM

Previous topic - Next topic

Daniel3D

I'm going through existing documentation to see if there is anything of interest.
And i think i've found something to get started.

In the docs i've found Flow.text


_main:
Setup ppTrakdataNN-pointers
call near ptr SetDefaultCar
call LoadBinaryFile("default.trk" -> trakdata14 and trakdata15)
... (intro and menu) .. jmp _lblDoGame0:
Setup trakdata20 (copy of trakdata14 + extra stuff)
call SetupTrack
- read from trakdata7, trakdata14, trakdata15, trakdata21, trakdata22,
- write to trakdata, trakdata2, trakdata6, trakdata7, trakdata8, trakdata9, trakdata10, trakdata14, trakdata17, trakdata18, trakdata19, trakdata21, trakdata22, trakdata23,
call InitGameState(0xFFFF) ; set up 20*1120 elements
call ShowWaiting
call RunGame

RunGame:
call near ptr SetupCarGameEtc
call SetupAeroTrakdata(player)
- write to trakdata4, trakdata5
call SetupAeroTrakdata(if opponent)
call SetupOppTrakdata(if opponent)
- write to trakdata3
call InitSfxEngine(player)
call InitSfxEngine(if opponent)
call near ptr SetupCarShapes
call near ptr RplyMouseSpriteStuff(0, 0, 0, 0)
call AltLocateShape(plan)
call AltLocateShape(wall)
call LoadSdgame2Shap
call LoadSkybox
call LoadGame3dShpes
call InitGameState(0xFFFF)
Setup car position
call SetupCarShapes(1) ; 1 = roof and dashboard
while {
call UpdateGameState
call PlayerOp
call UpdateCarState
call near ptr sub_471_40A2
call near ptr CvxOpSimdTrack
call TrkPlanSimd
call TrkTerrainWall
call near ptr InitCarCvx64_64
call Trakdata1_2_17_21_22 ; this returns something based on the position
call OpponentOp (if opponent)
call UpdateFrame
call SetupCarShapes(2)
}


actually need to port rungame itself

more trakdatas:

Trakdata11 = runtracksmenu, highscore
Trakdata12 = security check
Trakdata13 = load replay

trakdata16 - her er tastetrykk/recordbuffer??

which covers all bases yes?

Edison once said,
"I have not failed 10,000 times,
I've successfully found 10,000 ways that will not work."
---------
Currently running over 20 separate instances of Stunts or 4D Sports Driving.

Cas

Uhm... this program flow seems to jump directly from initialisation to the game engine. Where is the menu and the sub-menus?  I think I need to look at the whole code more closely :S
Earth is my country. Science is my religion.

Daniel3D

I saw so to after posting and reading it again. Still looks intresting though.
Edison once said,
"I have not failed 10,000 times,
I've successfully found 10,000 ways that will not work."
---------
Currently running over 20 separate instances of Stunts or 4D Sports Driving.