diasurgical / scalpel Goto Github PK
View Code? Open in Web Editor NEWThe argent tools beneath our sickening operation
License: The Unlicense
The argent tools beneath our sickening operation
License: The Unlicense
I wrote a little tool to diff the function name usage in Devilution vs. those defined in the table of ownage.
Most names are correct, but there are ~80 or so that needs to be update in surgery/function.md
so they have the same name as that used in Devilution.
Note, a few of these may be false positives (e.g. CopyInt
) as I ran the tool on DevilutionX/Source and those functions were introduced in DevilutionX for save file handling.
A set of function names related to rendering were recently updated as part of the cleanup in diasurgical/devilution#1802, so they should be easy to sync.
Oh, and I just realized, that a few functions are added to Devilution from the debug release of Diablo, so those will show up in the list as I only checked the v1.09b addresses of the surgery/functions.md
table.
The list is as follows:
assert_fail
GiveGoldCheat
(only in beta)StoresCheat
(only in beta)TakeGoldCheat
(only in beta)MaxSpellsCheat
(only in beta)SetSpellLevelCheat
SetAllSpellsCheat
PrintDebugPlayer
PrintDebugQuest
PrintDebugMonster
GetDebugMonster
NextDebugMonster
diablo_init
diablo_splash
CelBlit
CelDraw
CelBlitFrame
CelClippedDraw
CelClippedBlit
CelBlitLight
CelBlitLightTrans
CelDrawLight
CelClippedDrawLight
CelClippedBlitLightTrans
CelDrawLightRed
CelBlitSafe
CelClippedDrawSafe
CelClippedBlitSafe
CelBlitLightSafe
CelBlitLightTransSafe
CelDrawLightSafe
CelClippedBlitLightTransSafe
CelDrawLightRedSafe
CelBlitWidth
CelBlitOutline
CelBlitOutlineSafe
Cl2Draw
Cl2Blit
Cl2DrawOutline
Cl2BlitOutline
Cl2DrawLightTbl
Cl2BlitLight
Cl2DrawLight
Cl2DrawSafe
Cl2BlitSafe
Cl2DrawOutlineSafe
Cl2BlitOutlineSafe
Cl2DrawLightTblSafe
Cl2BlitLightSafe
Cl2DrawLightSafe
ToggleLighting
(only in beta)CopyBytes
(only in DevilutionX, as part of new save handling)CopyChar
(only in DevilutionX, as part of new save handling)CopyShort
(only in DevilutionX, as part of new save handling)CopyShorts
(only in DevilutionX, as part of new save handling)CopyInt
(only in DevilutionX, as part of new save handling)CopyInts
(only in DevilutionX, as part of new save handling)CopyInt64
(only in DevilutionX, as part of new save handling)LoadItemData
LoadItems
SaveItems
mpqapi_store_default_time
On_CHEAT_SPELL_LEVEL
On_DEBUG
dumphist
DeleteObject_
(present in functions.md
but without the _
suffix)AddBloodFtn
AddGoatShrine
AddCauldron
AddMurkyFountain
AddTearFountain
PM_DoStand
RenderLine
RenderTile
ScrollView
(only in beta)EnableFrameCount
(only in beta)DrawFPS
(only in beta)SHA1CircularShift
tmsg_start
town_special_lower
town_special_upper
P.S. if someone is curious, I can share the horrid tool that was used to produce this list :p I'm learning how to parse C++ as I go :)
(cc: @AJenbo as you are currently not listed as a watcher for updates to this repo ^^)
ref: http://redump.org/discs/letter/d/?page=3
Sony PN: SLPS-01416
* Release date: Jul 09, 1998
* EAN-13: 4 938833 004895
Sony PN: SLPS-91177
* Release date: Nov 18, 1999
* EAN-13: 4 938833 005205
Sony PN: SLUS-00619
* Release date: Mar, 1998
* UPC/A: 0 14633 07882 4
* ISBN-10: 0-7845-1366-X
Sony SLES-01156
* Release date: Apr, 1998
The last few days I've been playing with the idea of processing SYM files to output scripts which will add all symbol information to IDA. These scripts may be either in IDC format (e.g. notes.idc) or Python format (e.g. make_diablo.py and set_funcs).
As a first step to do this, we need to be able to process SYM files to the same capabilities as DUMPSYM.EXE
.
For this purpose, the https://github.com/sanctuary/sym repo was create; and as of today it is capable of parsing DIABPSX.SYM
from both the Japanese SLPS-01416 release (i.e. jap_05291998.out) and the 1997-12-12 Easy as Pie release (i.e. pal_12121997.out), to produce identical output as the DUMPSYM.EXE
tool of the Psy-Q SDK.
This is the initial step, and based on this we now have data structures to further process the information and produce useful high-level information; e.g. scripts for importing this information into IDA. Or, outputting C header files; etc.
Just wanted to post about the process and start to get input on directions to take, or ideas on what to play with :)
cc: @7i @galaxyhaxz @seritools
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.