summaryrefslogtreecommitdiff
path: root/koopatlas.yaml
blob: c21403e03ed312365454488573676a15e8fa82a9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
---
source_files:
  - ../src/koopatlas/fixes.S
  - ../src/boss.cpp # wtf is this doing in the Level Select/WorldMap stuff??
  - ../src/fileload.cpp
  - ../src/scene.S
  - ../src/levelinfo.cpp
  - ../src/koopatlas/core.cpp
  - ../src/koopatlas/player.cpp
  - ../src/koopatlas/hud.cpp
  - ../src/koopatlas/camera.cpp
  - ../src/koopatlas/map.cpp
  - ../src/koopatlas/mapdata.cpp
  - ../src/koopatlas/pathmanager.cpp
  - ../src/koopatlas/shop.cpp
  - ../src/koopatlas/starcoin.cpp
  - ../src/texmapcolouriser.cpp

hooks:
  - name: BuildWorldMap # WORLD_MAP
    type: add_func_pointer
    src_addr_pal: 0x8098DCF0
    target_func: 'dScKoopatlas_c::build(void)'

  - name: BuildWMPlayer # WM_PLAYER
    type: add_func_pointer
    src_addr_pal: 0x80988DDC
    target_func: 'daWMPlayer_c::build(void)'

  - name: BuildWMHud # WM_DANCE_PAKKUN
    type: add_func_pointer
    src_addr_pal: 0x80982844
    target_func: 'dWMHud_c::build(void)'

  - name: BuildWorldCamera # WORLD_CAMERA
    type: add_func_pointer
    src_addr_pal: 0x8098EEC8
    target_func: 'dWorldCamera_c::build(void)'

  - name: BuildWMMap # WM_MAP
    type: add_func_pointer
    src_addr_pal: 0x80984710
    target_func: 'dWMMap_c::build(void)'

  - name: BuildWMShop # WM_TOGEZO
    type: add_func_pointer
    src_addr_pal: 0x80986074
    target_func: 'dWMShop_c::build(void)'

  - name: BuildWMdStarCoin # WM_GHOST
    type: add_func_pointer
    src_addr_pal: 0x80982D1C
    target_func: 'dWMStarCoin_c::build(void)'


# fix the STOCK_ITEM references
  - name: StockItemFix
    type: patch
    addr_ntsc: 0x80101110
    addr_pal: 0x80101220
    data: '4E800020'

# this isn't used!
  - name: WMDrawFuncFix
    type: patch
    addr_pal: 0x80926800
    data: '60000000'

# try to fix effects?
#  - name: WMEffectFixTry
#    type: patch
#    addr_pal: 0x80124DCC
#    data: '2800000D'
#  - name: WMEffectDebug
#    type: branch_insn
#    src_addr_pal: 0x802863AC #Effect::Calc
#    src_addr_pal: 0x8016CB10 #mEf::effect_c::spawnWithName or something
#    src_addr_pal: 0x802858B0 #Effect::Draw
#    src_addr_pal: 0x8016C9CC #DealWithPuttingEffectsOnTheScreen-succeeds with extra RenderEffects
#    src_addr_pal: 0x80286A70
#    branch_type: b
#    target_func: 'UniversalFunctionLog'

  - name: ClearLastPowerupStoreTypeAfterGameOver
    type: branch_insn
    src_addr_pal: 0x809216EC
    branch_type: b
    target_func: ClearLastPowerupStoreTypeAfterGameOver